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

Dan Haywood resolved ISIS-779.
------------------------------
       Resolution: Not a Problem
    Fix Version/s:     (was: core-2.0.0)
                   core-1.8.0

This substantially duplicates ISIS-948, which in the end has the 
EventBusService as a singleton.  There's a lot of discussion there, I am pretty 
confident that ISIS-948 has tackled this issue correctly.

> 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: Minor
>             Fix For: core-1.8.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.3.4#6332)

Reply via email to