[cdi-dev] async activation on observers, why not CompletableFuture
Jozef Hartinger
jharting at redhat.com
Wed Apr 1 02:48:15 EDT 2015
So instead of calling observers asynchronously you suggest turning
observers into producers of CompletableFuture that will then be
completed asynchronously?
On 03/31/2015 06:21 PM, Romain Manni-Bucau wrote:
> // fire side
> event.fireAsync(new LetTheWorldKnow()).thenRun(() ->
> System.out.println("We did it!"));
>
> // observer side
> CompletableFuture iWantToKnow(@Observes LetTheWorldKnow event) {}
>
> // impl behavior would be like
> CompletableFuture.allOf(allObserverReturnedInstances) to be aligned on
> CompletableFuture behavior I think
>
> Am I clearer?
>
>
>
> 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>
>
> 2015-03-31 18:15 GMT+02:00 Sven Linstaedt <sven.linstaedt at gmail.com
> <mailto:sven.linstaedt at gmail.com>>:
>
> Hi Romain,
>
> I am not sure, I have fully understand how an observer with
> CompletableFuture could look like. Could you give us an example?
>
> Afair CompletableFuture was considered to be used in the "trigger"
> side in order to track async event invocation completion.
>
> br, Sven
>
> 2015-03-31 18:00 GMT+02:00 Romain Manni-Bucau
> <rmannibucau at gmail.com <mailto:rmannibucau at gmail.com>>:
>
> Hi guys,
>
> on async topic if I followed we are at the point where we are
> looking for an activation on the observer side.
>
> Since Java 8 has now CompletableFuture it would be great to
> use it. Today the spec doesnt use observer returned values so
> it is mainly a bad practise to have one even if not strictly
> forbidden - BTW never saw it in real applications - plus spec
> is not compatible - not specified at all -
> with CompletableFuture since it is a new API so we can use it
> as a marker.
>
> This is quite interesting for few reasons:
> 1- we have our double activation
> 2- API is user friendly (observer is async and has an async
> signature)
> 3- open door for future async enhancements (hopefully not in
> CDI) with composition of these observers
>
>
> Only point I'm not sure is should these observers support sync
> events. I don't see anything blocking to do it but can have
> missed something.
>
>
> wdyt?
>
>
> 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 <mailto: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.
>
>
>
>
>
> _______________________________________________
> 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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/cdi-dev/attachments/20150401/75058461/attachment.html
More information about the cdi-dev
mailing list