[cdi-dev] [JBoss JIRA] (CDI-499) Firing events asynchronously

Antoine Sabot-Durand antoine at sabot-durand.net
Wed Jan 21 10:01:35 EST 2015


Hi Werner,


No, it doesn’t cover @Asynchronous or @Async annotation. Discussion about async operation support in CDI 2.0 is another subject.


> Le 21 janv. 2015 à 13:52, Werner Keil <werner.keil at gmail.com> a écrit :
> 
> Antoine/all,
> 
> Is it safe to assume any recent discussion about an @Asynchronous annotation would be covered there unless e.g. EJB itself needs it to be updated for EE 8?
> 
> Werner
> 
> On Wed, Jan 21, 2015 at 1:06 PM, <cdi-dev-request at lists.jboss.org <mailto:cdi-dev-request at lists.jboss.org>> wrote:
> Send cdi-dev mailing list submissions to
>         cdi-dev at lists.jboss.org <mailto:cdi-dev at lists.jboss.org>
> 
> To subscribe or unsubscribe via the World Wide Web, visit
>         https://lists.jboss.org/mailman/listinfo/cdi-dev <https://lists.jboss.org/mailman/listinfo/cdi-dev>
> or, via email, send a message with subject or body 'help' to
>         cdi-dev-request at lists.jboss.org <mailto:cdi-dev-request at lists.jboss.org>
> 
> You can reach the person managing the list at
>         cdi-dev-owner at lists.jboss.org <mailto:cdi-dev-owner at lists.jboss.org>
> 
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of cdi-dev digest..."
> 
> 
> Today's Topics:
> 
>    1. [JBoss JIRA] (CDI-499) Firing events asynchronously
>       (Antoine Sabot-Durand (JIRA))
>    2. [JBoss JIRA] (CDI-31) Asynchronous events
>       (Antoine Sabot-Durand (JIRA))
>    3. [JBoss JIRA] (CDI-499) Firing events asynchronously
>       (Antoine Sabot-Durand (JIRA))
>    4. [JBoss JIRA] (CDI-499) Firing events asynchronously
>       (Antoine Sabot-Durand (JIRA))
>    5. [JBoss JIRA] (CDI-499) Firing events asynchronously
>       (Jos? Paumard (JIRA))
>    6. [JBoss JIRA] (CDI-499) Firing events asynchronously
>       (Jozef Hartinger (JIRA))
> 
> 
> ----------------------------------------------------------------------
> 
> 
> Message: 6
> Date: Wed, 21 Jan 2015 07:06:49 -0500 (EST)
> From: "Jozef Hartinger (JIRA)" <issues at jboss.org <mailto:issues at jboss.org>>
> Subject: [cdi-dev] [JBoss JIRA] (CDI-499) Firing events asynchronously
> To: cdi-dev at lists.jboss.org <mailto:cdi-dev at lists.jboss.org>
> Message-ID:
>         <JIRA.12561330.1421835166000.18078.1421842009269 at Atlassian.JIRA>
> Content-Type: text/plain; charset=UTF-8
> 
> 
>     [ https://issues.jboss.org/browse/CDI-499?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13034058#comment-13034058 <https://issues.jboss.org/browse/CDI-499?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13034058#comment-13034058> ]
> 
> Jozef Hartinger commented on CDI-499:
> -------------------------------------
> 
> {quote}For backward compatibility reason the possibility to invoke an observer asynchronously should be let to the observer{quote}
> What exactly are the reasons for this? I can think of one:
> - observer method injecting a @RequestScoped (or similar) bean
> Are there other arguments for this?
> 
> {quote}3. Observer bound to a transaction phase
> these observer will be invoked in the right transaction phase but asynchronously{quote}
> How's that different from Event.fire()?
> 
> > Firing events asynchronously
> > -----------------------------
> >
> >                 Key: CDI-499
> >                 URL: https://issues.jboss.org/browse/CDI-499 <https://issues.jboss.org/browse/CDI-499>
> >             Project: CDI Specification Issues
> >          Issue Type: Feature Request
> >          Components: Events
> >    Affects Versions: 1.2.Final
> >            Reporter: Antoine Sabot-Durand
> >
> > We should allow a way to fire event asynchronously. This mechanism should leverage new async API in JDK8 especially the {{CompletionStage}} interface.
> > Our proposal is:
> > h2. 1. Add {{fireAsync()}} method to {{Event}} and {{BeanManager}}
> > Signature of the method on {{Event<T>}} would be
> > {code:java}
> > <U extends T> CompletionStage<U> fireAsync(U event);
> > {code}
> > Signature on {{BeanManager}} would be
> > {code:java}
> > <T> CompletionStage<T> fireAsyncEvent(T event, Annotation... qualifiers)
> > {code}
> > h2. 2. Add an {{asyncSupported()}} member to {{@Observes}}
> > For backward compatibility reason the possibility to invoke an observer asynchronously should be let to the observer (legacy observers should be called synchronously). We propose to add the boolean {{asyncSupported()}} member with the {{false}} default value to support this backward compatibility aspect.
> > So to be notified asynchronously an observer should have {{asyncSupported}} member to true. otherwise it will be called synchronously.
> > h2. 3. Observer bound to a transaction phase
> > these observer will be invoked in the right transaction phase but asynchronously
> > h2. 4. Event Ordering
> > Should we decide to add events ordering in CDI 2.0, the order will be keep in asynchronous observer notification. If there are a mix of synchronous and asynchronous observer, asynchronous will be called first in order, then synchronous in their order (async has priority on sync).
> > h2. 5. Event state (payload mutability)
> > We'll keep payload mutability with async events (but should explicitly specify it). That means  that we should guarantee the event state consistency between observers and in case of ordered observers the fact that observer N+1 get the event state at the end of observer N.
> 
> 
> 
> --
> This message was sent by Atlassian JIRA
> (v6.3.11#6341)
> 
> 
> ------------------------------
> 
> _______________________________________________
> 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 <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 <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.
> 
> End of cdi-dev Digest, Vol 50, Issue 42
> ***************************************
> 
> _______________________________________________
> 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/20150121/cbb1c2dc/attachment-0001.html 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 495 bytes
Desc: Message signed with OpenPGP using GPGMail
Url : http://lists.jboss.org/pipermail/cdi-dev/attachments/20150121/cbb1c2dc/attachment-0001.bin 


More information about the cdi-dev mailing list