CompletionStage instead of Future for Submission#cancel return type?

Douglas Surber douglas.surber at oracle.com
Mon Nov 27 15:56:58 UTC 2017


The return value of cancel was overlooked when I modified everything to use CompletionStage. Thanks for pointing it out. It’s fixed now.

I agree about the name “getCompletionStage”; I’m not sure about it. “getResult” is better in some ways but it seems to me to be over promising. The method doesn’t get the result, it gets a CompletionStage which will be completed with the result. I’d be happy to change the name, but I’m not convinced that “getResult” is the right name.

Douglas



> On Nov 23, 2017, at 7:00 AM, Sebastien Deleuze <sdeleuze at pivotal.io> wrote:
> 
> While reviewing ADBA API, I noticed that Submission#cancel returns Future
> [1], which in practice is mostly usable in a blocking way since get() is
> blocking, checking regularly isDone() is not convenient at all, and
> unlike CompletionStage it does not provide a way to register a complete
> callback.
> 
> Is there any specific reason why CompletionStage<Boolean> can't be used
> there as return type? In addition to providing a non-blocking API, that
> would be also more consistent.
> 
> I am also not sure about Submission#getCompletionStage method name. Maybe
> something like Submission#getResult would be more clear than just naming it
> against the return type, especially if there are 2 methods returning
> CompletionStage
> like in my proposal.
> 
> Any thoughts?
> 
> [1]
> http://cr.openjdk.java.net/~lancea/apidoc/java/sql2/Submission.html#cancel--



More information about the jdbc-spec-discuss mailing list