CompletionStage instead of Future for Submission#cancel return type?

Douglas Surber douglas.surber at oracle.com
Mon Dec 4 16:20:05 UTC 2017


There haven’t been many changes since the last uploaded version. I’ve been working on other things.

Douglas

> On Dec 3, 2017, at 12:41 PM, Lance Andersen <lance.andersen at oracle.com> wrote:
> 
> 
> We have not updated this since prior to the US Thanksgiving Holiday.  I expect we will updated it again within the next week or so
> 
> 
> 
>> 
>> On Mon, Nov 27, 2017 at 7:56 AM, Douglas Surber <douglas.surber at oracle.com <mailto:douglas.surber at oracle.com>>
>> wrote:
>> 
>>> 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 <mailto: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/ <http://cr.openjdk.java.net/~lancea/apidoc/java/sql2/>
>>> Submission.html#cancel--
>>> 
>>> 
> 
> 



More information about the jdbc-spec-discuss mailing list