james-server-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tellier Benoit (JIRA)" <server-...@james.apache.org>
Subject [jira] [Commented] (JAMES-2641) Replace MailboxDispatcher & Delegating listener by the new event bus
Date Fri, 01 Feb 2019 08:35:00 GMT

    [ https://issues.apache.org/jira/browse/JAMES-2641?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16758097#comment-16758097

Tellier Benoit commented on JAMES-2641:

Little fix https://github.com/linagora/james-project/pull/2146

> Replace MailboxDispatcher & Delegating listener by the new event bus
> --------------------------------------------------------------------
>                 Key: JAMES-2641
>                 URL: https://issues.apache.org/jira/browse/JAMES-2641
>             Project: James Server
>          Issue Type: Improvement
>            Reporter: Trần Tiến Đức
>            Priority: Major
>             Fix For: 3.3.0
> You will make James use APIs defined in new EventBus instead than the previous one.
> You will remove:
>  - `MailboxListenerSupport API`
>  - `MailboxEventDispatcher` class
>  - `DelegatingMailboxListener` & sub classes
> Rather than calling Mailbox Support, call the EventBus
> Note that:
>  - EventBus initialization should never be done in the MailboxManager (a ready to use
EventBus should be passed to it).
> This can be done in 2 steps:
>  - Keeping the MailboxManager as a proxy
>  - Then in a second PR directly calling the EventBus
> **edited**
> improvement: `MailboxEventDisplatcher` exposes some convenience methods for easily creating
events. We need, as part of `EventFactory` to propose builders for Mailbox events.
> Note that as part of this effort, we need to get rid of the MailboxEventDispatcher whose
last responsibility is "not firing noop events". We need to move the `isNoop()` method to
the Event API in order to be able to filter our noop event without having knowledge of the
event details. Filtering noop should then be a responsibility of the EventBus (and as a temporary
step of the DelegatingMailboxListener). In order to filter noop in an agnostic way, we need
to add a `isnoop()` method in the event bus.
> Once these 2 preliminary steps are done we can:
>  - Remove the `MailboxEventDispatcher` (event emition can then directly be done on top
of the delegatingListener/EventBus=
>  - Replace the DelegatingListener by the EventBus.

This message was sent by Atlassian JIRA

To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org

View raw message