[
https://issues.apache.org/jira/browse/QPID-5420?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13864462#comment-13864462
]
ASF subversion and git services commented on QPID-5420:
-------------------------------------------------------
Commit 1556292 from [~k-wall] in branch 'qpid/trunk'
[ https://svn.apache.org/r1556292 ]
QPID-5420: Restore ability to consume using BURLs specifying default exchange.
* Java Broker: Changed AbstractVirtualHost so that createExchange throws
ExchangeExistException before checking for a reserved exchnage name. The
effect will be that the Java Broker will again accept active declaration of the
built in exchanges (amq.*, qpid.* and default).
* Java Broker: Changed the 0-8..0-9-1 ExchangeBoundHandler so that a null
exchnage name is treated to mean the default exchange. This matches the
behaviour of ServerSessionDelegate#exchangeBound() on the 0-10 path. This
allows the Java client to query bindings on the default exchange.
* Client: Changed AbstractAMQMessageDelegate.java so that 0-10 knows the type
of the default exchange when populating the JMSDestination on received messages.
* Client: Introduced system property qpid.bind_queues system property so that
the exchange/queue bind side effect can be suppressed on consumer creation.
Like qid.declare_exchanges and declare_queues, this system propery has effect
when using BURLs. Might be useful if using a new client with older broker.
* Added new system tests.
> Creating consumer for Destination specifying the no-name exchange in binding
> url syntax fails against Java Broker.
> ------------------------------------------------------------------------------------------------------------------
>
> Key: QPID-5420
> URL: https://issues.apache.org/jira/browse/QPID-5420
> Project: Qpid
> Issue Type: Bug
> Components: Java Broker, Java Client
> Affects Versions: 0.24, 0.26, 0.27
> Reporter: Keith Wall
> Assignee: Robbie Gemmell
> Attachments:
> 0001-QPID-5420-Restore-ability-to-consume-using-BURLs-spe.patch
>
>
> 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)
> {noformat}
> destination.sub1 = direct:////sub1?durable='true'
> {noformat}
> , then I see an exception:
> On the client I see the following as the Java Broker closes the connection:
> {noformat}
> org.apache.qpid.AMQDisconnectedException: Server closed connection and
> reconnection not permitted.
> {noformat}
> On the broker, I see the following logged:
> {noformat}
> 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)
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]