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

Reply via email to