]
Martin Kouba commented on CDI-541:
----------------------------------
[~antoinesabot-durand] Even if we move this to 2.1 we should clarify that async observer
with priority results in "non-portable behavior non-portable in 2.0!
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
Fix For: 2.1 (Discussion)
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?