[
https://issues.jboss.org/browse/CDI-31?page=com.atlassian.jira.plugin.sys...
]
Mark Struberg commented on CDI-31:
----------------------------------
Well, from a design perspective the current event is more like a method invocation with
targets which are unknown to the caller. Thus they are atm perfectly fine to collect data
from the @Observer methods.
That might also be possible if using asynchronous events. But in that case the event
object would need to support multiple concurrency (which is not defined atm). Thus we
cannot simply enable this in a backward compatible fashion. We would need to add a new
annotation or new member value in @Observes or with the Event<T> source /
EntityManager#fire(), e.g.
public enum ObserverType {
SYNCHRONOUS,
ASYNC_WAIT,
ASYNC_NOWAIT
}
Please be aware that both async methods have implications to the environment. We would
e.g. need to limit the max number of Event-threads to spawn, otherwise we will quickly
kill our Server.
But don't expect wonders! I'd say that in 99% of the cases the overhead to start
and manage those threads is bigger than the costs of invoking all events synchronously...
ASYNC_NOWAIT (similar to @Asynchronous EJBs) is btw pretty dangerous as it is NOT
relyable, must not share Session and Request Contexts, etc!
Asynchronous events
-------------------
Key: CDI-31
URL:
https://issues.jboss.org/browse/CDI-31
Project: CDI Specification Issues
Issue Type: Feature Request
Components: Events
Affects Versions: 1.0
Reporter: Nicklas Karlsson
Fix For: TBD
Consider including asynchronous events as their were specified in one of the previous
drafts.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see:
http://www.atlassian.com/software/jira