[cdi-dev] [JBoss JIRA] (CDI-541) Ordering of async observers (vs sync observers) is not specified

Antoine Sabot-Durand (JIRA) issues at jboss.org
Sun Oct 18 07:53:00 EDT 2015


    [ https://issues.jboss.org/browse/CDI-541?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13119248#comment-13119248 ] 

Antoine Sabot-Durand commented on CDI-541:
------------------------------------------

I suggest that we support ordering in Async Event.
The idea behind async event is not to optimize asynchronous treatment but to allow people to fire and forget (or deal later) an event.
Now that we decide to split async from sync obervers invocation, confusion there won't be confusion on th topic

Providing ordering for async add more feature and helps build more use case for end users. Implementation would be free to use multi thread for events sharing the same priority.

> Ordering of async observers (vs sync observers) is not specified
> ----------------------------------------------------------------
>
>                 Key: CDI-541
>                 URL: https://issues.jboss.org/browse/CDI-541
>             Project: CDI Specification Issues
>          Issue Type: Feature Request
>          Components: Events
>    Affects Versions: 2.0-EDR1
>            Reporter: Tomas Remes
>
> I think this needs to be specified. E.g. what happens if I fire async event and have more matching sync and async observers? Are all sync observes called first in given order with no regard to async observers priority? 
> For example:
> {{event.fireAsync(new Message());}}
> {code}
> public class First {
>   
>    void observeMessage(@Observes @Priority(2000) Message message){} 
> }
> {code}
> {code}
> public class Second {
>   
>    void observeMessage(@ObservesAsync @Priority(2100) Message message){} 
> }
> {code}
> {code}
> public class Third {
>   
>    void observeMessage(@Observes @Priority(2200) Message message){} 
> }
> {code}
> {code}
> public class Fourth {
>   
>    void observeMessage(@ObservesAsync @Priority(2300) Message message){} 
> }
> {code}
> What will be the order in this case? First, Third, Second, Fourth?



--
This message was sent by Atlassian JIRA
(v6.4.11#64026)


More information about the cdi-dev mailing list