Details
-
Improvement
-
Status: Closed
-
Minor
-
Resolution: Not A Problem
-
core-1.4.0
-
None
Description
Originally this ticket was raised as a bug to the effect that "EventBus should not re-register services on open/close; this is not thread-safe."
Subsequent analysis shows that isn't actually the case; the current design is thread-safe.
How it works is that, although EventBusServiceDefault is application-scoped, the guava EventBus itself is obtained from the PersistenceSession, ie is in effect for the session.
It would however be preferrable to convert EventBusService(Default) into a request-scoped, and then having it simply new up the guava EventBus each time. The only real issue is the ordering of the service injection; the domain services do a reverse callback to the EventBusService in the setterXxx() / injectXxx()
; there might be ordering issues.
Attachments
Issue Links
- duplicates
-
CAUSEWAY-948 Fix concurrent exception in EventBus, improve support for request-scoped services
- Closed