Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
0.24, 0.26
-
None
Description
If when using the Java Broker, I try to consume from a Destination specified by a binding url, where the exchange part is empty (signifying the no-name exchange)
destination.sub1 = direct:////sub1?durable='true'
, then I see an exception:
On the client I see the following as the Java Broker closes the connection:
org.apache.qpid.AMQDisconnectedException: Server closed connection and reconnection not permitted.
On the broker, I see the following logged:
2013-12-13 10:05:43,602 ERROR [IoReceiver - /127.0.0.1:49532] (v0_8.AMQProtocolEngine) - Unexpected exception while processing frame. Closing connection. org.apache.qpid.AMQException: Exchange exchange must not be null at org.apache.qpid.server.protocol.v0_8.handler.ExchangeBoundHandler.methodReceived(ExchangeBoundHandler.java:89) at org.apache.qpid.server.protocol.v0_8.handler.ServerMethodDispatcherImpl.dispatchExchangeBound(ServerMethodDispatcherImpl.java:458) at org.apache.qpid.framing.amqp_0_9.ExchangeBoundBodyImpl.execute(ExchangeBoundBodyImpl.java:130) at org.apache.qpid.server.protocol.v0_8.state.AMQStateManager.methodReceived(AMQStateManager.java:120) at org.apache.qpid.server.protocol.v0_8.AMQProtocolEngine.methodFrameReceived(AMQProtocolEngine.java:578) at org.apache.qpid.framing.AMQMethodBodyImpl.handle(AMQMethodBodyImpl.java:97) at org.apache.qpid.server.protocol.v0_8.AMQProtocolEngine.frameReceived(AMQProtocolEngine.java:442) at org.apache.qpid.server.protocol.v0_8.AMQProtocolEngine.dataBlockReceived(AMQProtocolEngine.java:365) at org.apache.qpid.server.protocol.v0_8.AMQProtocolEngine.received(AMQProtocolEngine.java:286) at org.apache.qpid.server.protocol.v0_8.AMQProtocolEngine.received(AMQProtocolEngine.java:104) at org.apache.qpid.server.protocol.MultiVersionProtocolEngine.received(MultiVersionProtocolEngine.java:131) at org.apache.qpid.server.protocol.MultiVersionProtocolEngine.received(MultiVersionProtocolEngine.java:47) at org.apache.qpid.transport.network.io.IoReceiver.run(IoReceiver.java:161) at java.lang.Thread.run(Thread.java:744)