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

Consumers created using BURLs without named exchange fail with "Cannot add bindings to the default exchange [error code 403: access refused]"

    XMLWordPrintableJSON

Details

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

    Description

      Since QPID-4832, if a client, using a BURL that does not reference the exchange, attempts Session#createConsumer(), he will see a stack trace.

      Example BURL:

      destination.myqueue = BURL:direct:///myqueue/myqueue?routingkey='myqueue'

      2013-05-22 11:27:29,255 DEBUG [IoReceiver - localhost/127.0.0.1:5672] [AMQConnection] exceptionReceived done by:IoReceiver - localhost/127.0.0.1:5672
      org.apache.qpid.AMQChannelClosedException: Error: org.apache.qpid.AMQSecurityException: Cannot add bindings to the default exchange [error code 403: access refused] [error code 504: channel error]
      	at org.apache.qpid.client.handler.ChannelCloseMethodHandler.methodReceived(ChannelCloseMethodHandler.java:97)
      	at org.apache.qpid.client.handler.ClientMethodDispatcherImpl.dispatchChannelClose(ClientMethodDispatcherImpl.java:164)
      	at org.apache.qpid.framing.amqp_0_9.ChannelCloseBodyImpl.execute(ChannelCloseBodyImpl.java:137)
      	at org.apache.qpid.client.state.AMQStateManager.methodReceived(AMQStateManager.java:114)
      	at org.apache.qpid.client.protocol.AMQProtocolHandler.methodBodyReceived(AMQProtocolHandler.java:520)
      	at org.apache.qpid.client.protocol.AMQProtocolSession.methodFrameReceived(AMQProtocolSession.java:462)
      	at org.apache.qpid.framing.AMQMethodBodyImpl.handle(AMQMethodBodyImpl.java:97)
      	at org.apache.qpid.client.protocol.AMQProtocolHandler.received(AMQProtocolHandler.java:477)
      	at org.apache.qpid.client.protocol.AMQProtocolHandler.received(AMQProtocolHandler.java:1)
      	at org.apache.qpid.transport.network.io.IoReceiver.run(IoReceiver.java:161)
      	at java.lang.Thread.run(Thread.java:662)
      

      The user can work around the issue by including the exchange name within the BURL.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              kwall Keith Wall
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: