[cdi-dev] async activation on observers, why not CompletableFuture

Romain Manni-Bucau rmannibucau at gmail.com
Tue Mar 31 12:21:12 EDT 2015


// 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>:

> 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>:
>
>> 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
>> 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/20150331/72d7146b/attachment-0001.html 


More information about the cdi-dev mailing list