qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF subversion and git services (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (QPID-5420) Creating consumer for Destination specifying the no-name exchange in binding url syntax fails against Java Broker.
Date Tue, 07 Jan 2014 17:59:51 GMT

    [ 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 - /] (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

To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org

View raw message