Uploaded image for project: 'James Mailbox'
  1. James Mailbox
  2. MAILBOX-371

Implement routing for notification listeners (key registrations)

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 3.3.0
    • None
    • None

    Description

      Reusing the work of "creating new RabbitMQEventBus" we will implement support for per mailbox registration of MailboxListeners (asynchronous execution).

      • Each James server creates a notification queue
      • Upon MailboxListener registration, James adds a binding for the given MailboxId from the exchange to its queue
      • James create consumers delivering events to locally registers MailboxListeners, according to the event MailboxId

      Tests:

      • Ensure that notifications works on a single RabbitMQDelegatingMailboxListener
      • Ensure that notifications works on two RabbitMQDelegatingMailboxListeners (listeners registered on 2 are aware of events generated on 1)

      Note: Several registration can be done on the same node, a record of lacal registration (in memory) needs to be kept.

       

      Update: you need to extract registration tests in EventBusContract to a new Contract then implements it in your new RabbitMQEventBusTest.

      also need to have tests about multiple event bus

      Attachments

        Activity

          People

            Unassigned Unassigned
            trantienduchn Trần Tiến Đức
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: