[cdi-dev] async: back to completion future?

Romain Manni-Bucau rmannibucau at gmail.com
Mon Mar 7 03:03:11 EST 2016


Le 7 mars 2016 08:35, "Martin Kouba" <mkouba at redhat.com> a écrit :
>
> Dne 6.3.2016 v 15:39 Romain Manni-Bucau napsal(a):
>
>> Hi guys,
>>
>> as a user having a ComlpetionStage makes me loose some JDK utilities,
>> can we move back to CompletionFuture?
>>
>> It would allow for instance:
>>
>> // doesn't work with CompletionStage
>> CompletionFuture.allOf(event1.fireAsync(...), event2.fireAsync(...))
>>        .then(...)
>
>
> Well, this should work if the underlying CompletionStage impl supports
toCompletableFuture(), i.e. in Weld 3:
>

Yes but it is not natural to convert it IMO = we can do better

> CompletableFuture.allOf(event1.fireAsync(...).toCompletableFuture(),
event2.fireAsync(...).toCompletableFuture())
>
> AFAIK the default async execution facility of CompletableFuture is
ForkJoinPool.commonPool() which is not a good fit for Java EE. Using the
CompletionStage interface allows us to wrap the async calls without the
specified executor (e.g. CompletionStage.thenApplyAsync(Function<? super T,
? extends U>)) and supply a default one provided by the impl.
>

Should use the pool in which the evznt is fired then "then step" is
synchronous is my sample so all is decided at fire time

>
>>
>> Romain Manni-Bucau
>> @rmannibucau <https://twitter.com/rmannibucau> | Blog
>> <http://rmannibucau.wordpress.com> | Github
>> <https://github.com/rmannibucau> | LinkedIn
>> <https://www.linkedin.com/in/rmannibucau> | Tomitriber
>> <http://www.tomitribe.com>
>>
>>
>>
>> _______________________________________________
>> cdi-dev mailing list
>> cdi-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/cdi-dev
>>
>> Note that for all code provided on this list, the provider licenses the
code under the Apache License, Version 2 (
http://www.apache.org/licenses/LICENSE-2.0.html). For all other ideas
provided on this list, the provider waives all patent and other
intellectual property rights inherent in such information.
>>
>
> --
> Martin Kouba
> Software Engineer
> Red Hat, Czech Republic
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/cdi-dev/attachments/20160307/fa71a4ae/attachment.html 


More information about the cdi-dev mailing list