Uploaded image for project: 'James Server'
  1. James Server
  2. JAMES-3082

Make messages persistent in rabbitmq eventbus

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 3.5.0
    • Component/s: None
    • Labels:
      None

      Description

      Regarding the persistence of messages in rabbitmq : To achieve this there are two steps :

      the queue must be declared as durable (the declaration of the queue is persisted rabbitmq is restarted)
      when sending a message, it must have a property setting its delivery_mode to persistent. (the messages with this property are persisted in case of a restart of rabbitmq)

      At the time being the rabbitmq eventbus in james :

      the queue is declared durable => Good
      the delivery_mode property is not set => Not good
      the exchange is not declared durable => Seems not good, but need testing

      What should be done is :

      set the `delivery_mode` property to '2' ( see https://www.rabbitmq.com/releases/rabbitmq-java-client/v2.4.1/rabbitmq-java-client-javadoc-2.4.1/index.html?com/rabbitmq/client/MessageProperties.html )

      verify if the exchange need to be declared 'durable' too. if so it will need an entry in the migration guide. As it will need to be deleted an created back with the new properties.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              remi_kowalski RĂ©mi Kowalski
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: