[
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)