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

Dan Haywood updated ISIS-1028:
------------------------------
    Description: 
Current Guava based implementation queues events, and that implies changes to 
the execution flow.

Axon Event Bus implementations simply dispatches events as soon as are posted.

That way, logic when dispatching events is always the same (immediate 
dispatching when posted), without depending on an Event being dispatched when 
no other Event is dispatching (so its Event Handlers would be invoked 
immediately) or when other Event is currently being dispatched (in which case 
Guava would queue it instead of immediately dispatching).

~~~~~~~~~~~~~~~~

As now implemented, the implementation can be specified in isis.properties:

isis.services.eventbus.implementation=guava  # the default

or

isis.services.eventbus.implementation=axon

or

isis.services.eventbus.implementation=com.mycompany.myapp.MyEventBusImplementation
   # implementing EventBusImplementation as defined in the Isis applib.


  was:
Current Guava based implementation queues events, and that implies changes to 
the execution flow.

Axon Event Bus implementations simply dispatches events as soon as are posted.

That way, logic when dispatching events is always the same (immediate 
dispatching when posted), without depending on an Event being dispatched when 
no other Event is dispatching (so its Event Handlers would be invoked 
immediately) or when other Event is currently being dispatched (in which case 
Guava would queue it instead of immediately dispatching).


> Create Event Bus Service based on Axon
> --------------------------------------
>
>                 Key: ISIS-1028
>                 URL: https://issues.apache.org/jira/browse/ISIS-1028
>             Project: Isis
>          Issue Type: New Feature
>          Components: Core
>    Affects Versions: core-1.8.0
>            Reporter: Oscar Bou
>            Assignee: Dan Haywood
>             Fix For: 1.9.0
>
>
> Current Guava based implementation queues events, and that implies changes to 
> the execution flow.
> Axon Event Bus implementations simply dispatches events as soon as are posted.
> That way, logic when dispatching events is always the same (immediate 
> dispatching when posted), without depending on an Event being dispatched when 
> no other Event is dispatching (so its Event Handlers would be invoked 
> immediately) or when other Event is currently being dispatched (in which case 
> Guava would queue it instead of immediately dispatching).
> ~~~~~~~~~~~~~~~~
> As now implemented, the implementation can be specified in isis.properties:
> isis.services.eventbus.implementation=guava  # the default
> or
> isis.services.eventbus.implementation=axon
> or
> isis.services.eventbus.implementation=com.mycompany.myapp.MyEventBusImplementation
>    # implementing EventBusImplementation as defined in the Isis applib.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to