streamnative / aop

AMQP on Pulsar protocol handler
Apache License 2.0
115 stars 47 forks source link

[BUG] Exclusive queue can not be used form other connection #124

Open gaoran10 opened 4 years ago

gaoran10 commented 4 years ago

Question

We need to check this response is right or not, we could make a test with RabbitMQ service.

Error Log

Exception in thread “main” javax.jms.JMSException: Error registering consumer: org.apache.qpid.AMQChannelClosedException: Error: Exclusive queue can not be used form other connection, queueName: ‘clientid:Sub1’ [error code 405: Already exists]
    at org.apache.qpid.client.AMQSession.toJMSException(AMQSession.java:3774)
    at org.apache.qpid.client.AMQSession$6.execute(AMQSession.java:2164)
    at org.apache.qpid.client.AMQSession$6.execute(AMQSession.java:2118)
    at org.apache.qpid.client.AMQConnectionDelegate_8_0.executeRetrySupport(AMQConnectionDelegate_8_0.java:416)
    at org.apache.qpid.client.AMQConnection.executeRetrySupport(AMQConnection.java:809)
    at org.apache.qpid.client.failover.FailoverRetrySupport.execute(FailoverRetrySupport.java:90)
    at org.apache.qpid.client.AMQSession.createConsumerImpl(AMQSession.java:2116)
    at org.apache.qpid.client.AMQSession.createConsumer(AMQSession.java:1044)
    at org.apache.qpid.client.AMQSession.createDurableSubscriber(AMQSession.java:1197)
    at org.apache.qpid.client.AMQSession.createDurableSubscriber(AMQSession.java:1076)
    at com.testJms.TopicSubscriber.runTest(TopicSubscriber.java:36)
    at com.testJms.TopicSubscriber.main(TopicSubscriber.java:19)
Caused by: org.apache.qpid.AMQChannelClosedException: Error: Exclusive queue can not be used form other connection, queueName: ‘clientid:Sub1’ [error code 405: Already exists]
    at org.apache.qpid.client.handler.ChannelCloseMethodHandler.methodReceived(ChannelCloseMethodHandler.java:97)
    at org.apache.qpid.client.handler.ClientMethodDispatcherImpl.dispatchChannelClose(ClientMethodDispatcherImpl.java:198)
    at org.apache.qpid.framing.ChannelCloseBody.execute(ChannelCloseBody.java:102)
    at org.apache.qpid.client.state.AMQStateManager.methodReceived(AMQStateManager.java:118)
    at org.apache.qpid.client.AMQProtocolHandler.methodBodyReceived(AMQProtocolHandler.java:530)
    at org.apache.qpid.client.protocol.AMQProtocolSession.methodFrameReceived(AMQProtocolSession.java:446)
    at org.apache.qpid.framing.AMQMethodBodyImpl.handle(AMQMethodBodyImpl.java:64)
    at org.apache.qpid.client.AMQProtocolHandler.received(AMQProtocolHandler.java:480)
    at org.apache.qpid.client.AMQConnectionDelegate_8_0$ReceiverClosedWaiter.received(AMQConnectionDelegate_8_0.java:549)
    at org.apache.qpid.transport.network.io.IoReceiver.run(IoReceiver.java:164)
    at java.lang.Thread.run(Thread.java:748)
zhanghaou commented 4 years ago

Is the queue is set exclusive = true, and used in the other connection?

codelipenghui commented 4 years ago

@gaoran10 Could you please help add some reproduce steps for this issue?