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

Make messages persistent in rabbitmq eventbus

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 3.5.0
    • None
    • 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

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

            Dates

              Created:
              Updated:
              Resolved: