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

Martin Kouba (JIRA) issues at jboss.org
Thu Jul 16 02:12:02 EDT 2015


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

Martin Kouba commented on CDI-541:
----------------------------------

I think the question is whether to support priority for async observers or not. If we do, all async observers would have to be notified serially, probably in a single thread (this is what we do in Weld right now). This would be handy if a mutable event payload is used. On the other hand, this would also prevent further optimizations (e.g. notify async observers in parallel).

> 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}
> What will be the order in this case? First, Second, Third? First, Third, Second?



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


More information about the cdi-dev mailing list