[ 
https://issues.apache.org/jira/browse/ISIS-779?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dan Haywood updated ISIS-779:
-----------------------------

    Issue Type: Improvement  (was: Bug)

> Refactor EventBusService as a @RequestScoped service, and have it own the 
> guava EventBus as a field.
> ----------------------------------------------------------------------------------------------------
>
>                 Key: ISIS-779
>                 URL: https://issues.apache.org/jira/browse/ISIS-779
>             Project: Isis
>          Issue Type: Improvement
>          Components: Core
>    Affects Versions: core-1.4.0
>            Reporter: Dan Haywood
>            Assignee: Dan Haywood
>            Priority: Critical
>             Fix For: core-2.0.0
>
>
> 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.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to