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


    • Type: New Feature
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 0.23
    • Fix Version/s: 0.23
    • Component/s: Broker-J, JMS AMQP 0-x
    • Labels:


      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.




            • Assignee:
              gemmellr Robbie Gemmell
              alex.rufous Alex Rudyy
            • Votes:
              0 Vote for this issue
              5 Start watching this issue


              • Created: