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

    Details

    • 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:
      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

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

              Dates

              • Created:
                Updated:
                Resolved: