Uploaded image for project: 'Qpid'
  1. Qpid
  2. QPID-4943

[Java Broker] Introduce a feature for 0-8/0-9/0-9-1protocols to close a connection on receiving a mandatory unroutable message in a transacted session

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 0.23
    • 0.23
    • Broker-J, JMS AMQP 0-x
    • None

    Description

      With AMQP 0-8/0-9/-9-1 protocols sending a message with a routing key for which no queue binding exist results in either message being bounced back (mandatory or immediate message) or discarded on broker side (not mandatory or immediate message).

      When a 'mandatory' message is returned back, an AMQNoRouteException is passes through the configured ExceptionListener on the Connection. This exception does not cause channel or connection close. However, it require a special exception handling on client side in order to deal with AMQNoRouteExceptions. This could potentially be a problem when using various messaging frameworks and buses (e.g Mule) as they usually close the connection on receiving any JMSException.

      In order to simplify application handling of scenarios where 'mandatory' messages are being sent to queues which do not actually exist, the Qpid Java Broker should allow configuring the client/broker on a global and/or connection-specific basis such that the broker should respond to this situation by closing the connection rather than returning the unroutable message to the client.

      Attachments

        Activity

          People

            robbie Robbie Gemmell
            orudyy Alex Rudyy
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: