Good morning. So far my qpid experience has been quite smooth, and using it has 
been comparatively relaxing. Of course my hitch would come when I try to mash 
up qpid, activemq, and camel. I'm asking my question here since I'm having a 
problem with the mix, and the only inconsistency I can find so far is in qpid 
components. If you'd like to punt me off to some other list, I'm all ears. ;)

The questions:

Why do my qpid logs say that the queue is exclusive when my Qpid JMX Management 
Console says that it isn't?
How do I ensure that my queues are non-exclusive?
If the queue has to be exclusive, what is keeping the queue exclusive and how 
do I get it to stop?



Short details:

I have a qpid broker, with ActiveMQ/Camel connecting to slurp in messages from 
a qpid queue and then translate them to an activemq queue for JMS access. The 
ActiveMQ/Camel instance fails to do... some specific task I'm not quite clear 
on, but fails because the queue is exclusive. I didn't set the queue to be 
exclusive.

Platform:

Debian 6 x86_64
AMQP Client to send the initial message is ruby 1.8.7 with the amqp gem.
Oracle (Sun) java 1.6.0_31
Qpid 0.16 (running as a daemon)
ActiveMQ 5.5.1 with camel-amqp-2.10.0.jar, qpid-common-0.16.jar, 
qpid-client-0.16.jar (running as a daemon)

The log says:

2012-07-26 16:27:04,584 DEBUG [IoReceiver - /10.201.140.228:60713] util.Logger 
(Logger.java:54) - SEND: [conn:6b6c14c0] ch=0 id=2 
ExecutionException(errorCode=RESOURCE_LOCKED, commandId=3, 
description=Exclusive Queue: amq.cw2 owned exclusively by another session)

My console says that amq.cw2 is exclusive:false, see the attached screenshot.



Longer details:

Here is one connection from ActiveMQ, as seen in the qpid logs:

2012-07-26 16:27:04,527 DEBUG [IoReceiver - /10.201.140.228:60713] util.Logger 
(Logger.java:54) - RECV: [conn:6b6c14c0] AMQP.1 0-10
2012-07-26 16:27:04,528 DEBUG [IoReceiver - /10.201.140.228:60713] util.Logger 
(Logger.java:54) - SEND: [conn:6b6c14c0] AMQP.1 0-10
2012-07-26 16:27:04,529 DEBUG [IoReceiver - /10.201.140.228:60713] util.Logger 
(Logger.java:54) - SEND: [conn:6b6c14c0] ch=0 
ConnectionStart(serverProperties={qpid.federation_tag=58d89af6-e6d1-4705-8bd6-eec225e77fa3,
 qpid.features=[qpid.jms-selector]}, mechanisms=[AMQPLAIN, PLAIN, CRAM-MD5], 
locales=[en_US])
2012-07-26 16:27:04,529 DEBUG [IoReceiver - /10.201.140.228:60713] util.Logger 
(Logger.java:54) - FLUSH: [conn:6b6c14c0]
2012-07-26 16:27:04,532 DEBUG [IoReceiver - /10.201.140.228:60713] util.Logger 
(Logger.java:54) - RECV: [conn:6b6c14c0] ch=0 
ConnectionStartOk(clientProperties={product=qpid, qpid.client_version=0.16, 
platform=Java(TM) SE Runtime Environment, 1.6.0_31-b04, Sun Microsystems Inc., 
amd64, Linux, 2.6.32-5-amd64, unknown, qpid.session_flow=1, 
clientName=cwlab-011343334394271, qpid.client_pid=28586, 
qpid.client_process=Qpid Java Client}, mechanism=CRAM-MD5)
2012-07-26 16:27:04,532 DEBUG [IoReceiver - /10.201.140.228:60713] util.Logger 
(Logger.java:54) - SEND: [conn:6b6c14c0] ch=0 
ConnectionSecure(challenge=[B@4c68059)
2012-07-26 16:27:04,533 DEBUG [IoReceiver - /10.201.140.228:60713] util.Logger 
(Logger.java:54) - FLUSH: [conn:6b6c14c0]
2012-07-26 16:27:04,534 DEBUG [IoReceiver - /10.201.140.228:60713] util.Logger 
(Logger.java:54) - RECV: [conn:6b6c14c0] ch=0 
ConnectionSecureOk(response=[B@4145582)
2012-07-26 16:27:04,535 DEBUG [IoReceiver - /10.201.140.228:60713] util.Logger 
(Logger.java:54) - SEND: [conn:6b6c14c0] ch=0 ConnectionTune(channelMax=256, 
maxFrameSize=65535, heartbeatMin=0, heartbeatMax=0)
2012-07-26 16:27:04,535 DEBUG [IoReceiver - /10.201.140.228:60713] util.Logger 
(Logger.java:54) - FLUSH: [conn:6b6c14c0]
2012-07-26 16:27:04,536 DEBUG [IoReceiver - /10.201.140.228:60713] util.Logger 
(Logger.java:54) - RECV: [conn:6b6c14c0] ch=0 ConnectionTuneOk(channelMax=256, 
maxFrameSize=65535, heartbeat=0)
2012-07-26 16:27:04,537 DEBUG [IoReceiver - /10.201.140.228:60713] util.Logger 
(Logger.java:54) - RECV: [conn:6b6c14c0] ch=0 ConnectionOpen(virtualHost=sp, 
insist=true)
2012-07-26 16:27:04,544 DEBUG [IoReceiver - /10.201.140.228:60713] util.Logger 
(Logger.java:54) - SEND: [conn:6b6c14c0] ch=0 ConnectionOpenOk(knownHosts=[])
2012-07-26 16:27:04,544 DEBUG [IoReceiver - /10.201.140.228:60713] util.Logger 
(Logger.java:54) - FLUSH: [conn:6b6c14c0]
2012-07-26 16:27:04,547 DEBUG [IoReceiver - /10.201.140.228:60713] util.Logger 
(Logger.java:54) - RECV: [conn:6b6c14c0] ch=0 SessionAttach(name=[B@448be1c9)
2012-07-26 16:27:04,547 DEBUG [IoReceiver - /10.201.140.228:60713] util.Logger 
(Logger.java:54) - SEND: [conn:6b6c14c0] ch=0 SessionAttached(name=[B@448be1c9)
2012-07-26 16:27:04,548 DEBUG [IoReceiver - /10.201.140.228:60713] util.Logger 
(Logger.java:54) - FLUSH: [conn:6b6c14c0]
2012-07-26 16:27:04,550 DEBUG [IoReceiver - /10.201.140.228:60713] util.Logger 
(Logger.java:54) - RECV: [conn:6b6c14c0] ch=0 SessionRequestTimeout(timeout=0)
2012-07-26 16:27:04,550 DEBUG [IoReceiver - /10.201.140.228:60713] util.Logger 
(Logger.java:54) - SEND: [conn:6b6c14c0] ch=0 SessionTimeout(timeout=0)
2012-07-26 16:27:04,550 DEBUG [IoReceiver - /10.201.140.228:60713] util.Logger 
(Logger.java:54) - FLUSH: [conn:6b6c14c0]
2012-07-26 16:27:04,551 DEBUG [IoReceiver - /10.201.140.228:60713] util.Logger 
(Logger.java:54) - RECV: [conn:6b6c14c0] ch=0 SessionCommandPoint(commandId=0, 
commandOffset=0)
2012-07-26 16:27:04,552 DEBUG [IoReceiver - /10.201.140.228:60713] util.Logger 
(Logger.java:54) - RECV: [conn:6b6c14c0] ch=0 ExchangeBound(exchange=amq.cw2, 
queue=amq.cw2)
2012-07-26 16:27:04,553 DEBUG [IoReceiver - /10.201.140.228:60713] util.Logger 
(Logger.java:54) - SEND: [conn:6b6c14c0] ch=0 SessionCommandPoint(commandId=0, 
commandOffset=0)
2012-07-26 16:27:04,553 DEBUG [IoReceiver - /10.201.140.228:60713] util.Logger 
(Logger.java:54) - FLUSH: [conn:6b6c14c0]
2012-07-26 16:27:04,554 DEBUG [IoReceiver - /10.201.140.228:60713] util.Logger 
(Logger.java:54) - SEND: [conn:6b6c14c0] ch=0 id=0 ExecutionResult(commandId=0, 
value=ExchangeBoundResult(exchangeNotFound=true))
2012-07-26 16:27:04,554 DEBUG [IoReceiver - /10.201.140.228:60713] util.Logger 
(Logger.java:54) - FLUSH: [conn:6b6c14c0]
2012-07-26 16:27:04,562 DEBUG [IoReceiver - /10.201.140.228:60713] util.Logger 
(Logger.java:54) - SEND: [conn:6b6c14c0] ch=0 SessionFlush(completed=true)
2012-07-26 16:27:04,563 DEBUG [IoReceiver - /10.201.140.228:60713] util.Logger 
(Logger.java:54) - FLUSH: [conn:6b6c14c0]
2012-07-26 16:27:04,564 DEBUG [IoReceiver - /10.201.140.228:60713] util.Logger 
(Logger.java:54) - RECV: [conn:6b6c14c0] ch=0 SessionFlush(completed=true)
2012-07-26 16:27:04,565 DEBUG [IoReceiver - /10.201.140.228:60713] util.Logger 
(Logger.java:54) - SEND: [conn:6b6c14c0] ch=0 SessionCompleted(commands={[0, 
0]})
2012-07-26 16:27:04,565 DEBUG [IoReceiver - /10.201.140.228:60713] util.Logger 
(Logger.java:54) - FLUSH: [conn:6b6c14c0]
2012-07-26 16:27:04,566 DEBUG [IoReceiver - /10.201.140.228:60713] util.Logger 
(Logger.java:54) - RECV: [conn:6b6c14c0] ch=0 QueueQuery(queue=amq.cw2)
2012-07-26 16:27:04,567 DEBUG [IoReceiver - /10.201.140.228:60713] util.Logger 
(Logger.java:54) - SEND: [conn:6b6c14c0] ch=0 id=1 ExecutionResult(commandId=1, 
value=QueueQueryResult(queue=amq.cw2, autoDelete=true, arguments={}, 
messageCount=1, subscriberCount=0))
2012-07-26 16:27:04,567 DEBUG [IoReceiver - /10.201.140.228:60713] util.Logger 
(Logger.java:54) - FLUSH: [conn:6b6c14c0]
2012-07-26 16:27:04,572 DEBUG [IoReceiver - /10.201.140.228:60713] util.Logger 
(Logger.java:54) - RECV: [conn:6b6c14c0] ch=0 SessionCompleted(commands=[0, 0])
2012-07-26 16:27:04,574 DEBUG [IoReceiver - /10.201.140.228:60713] util.Logger 
(Logger.java:54) - RECV: [conn:6b6c14c0] ch=0 [S] ExecutionSync()
2012-07-26 16:27:04,578 DEBUG [IoReceiver - /10.201.140.228:60713] util.Logger 
(Logger.java:54) - SEND: [conn:6b6c14c0] ch=0 SessionCompleted(commands={[0, 
2]})
2012-07-26 16:27:04,579 DEBUG [IoReceiver - /10.201.140.228:60713] util.Logger 
(Logger.java:54) - FLUSH: [conn:6b6c14c0]
2012-07-26 16:27:04,581 DEBUG [IoReceiver - /10.201.140.228:60713] util.Logger 
(Logger.java:54) - SEND: [conn:6b6c14c0] ch=0 SessionCompleted(commands={[0, 
2]})
2012-07-26 16:27:04,581 DEBUG [IoReceiver - /10.201.140.228:60713] util.Logger 
(Logger.java:54) - FLUSH: [conn:6b6c14c0]
2012-07-26 16:27:04,583 DEBUG [IoReceiver - /10.201.140.228:60713] util.Logger 
(Logger.java:54) - RECV: [conn:6b6c14c0] ch=0 MessageSubscribe(queue=amq.cw2, 
destination=1, acceptMode=EXPLICIT, acquireMode=PRE_ACQUIRED, resumeTtl=0, 
arguments={x-filter-jms-selector=})
2012-07-26 16:27:04,584 DEBUG [IoReceiver - /10.201.140.228:60713] util.Logger 
(Logger.java:54) - SEND: [conn:6b6c14c0] ch=0 id=2 
ExecutionException(errorCode=RESOURCE_LOCKED, commandId=3, 
description=Exclusive Queue: amq.cw2 owned exclusively by another session)
2012-07-26 16:27:04,585 DEBUG [IoReceiver - /10.201.140.228:60713] util.Logger 
(Logger.java:54) - FLUSH: [conn:6b6c14c0]
2012-07-26 16:27:04,595 DEBUG [IoReceiver - /10.201.140.228:60713] util.Logger 
(Logger.java:54) - SEND: [conn:6b6c14c0] ch=0 SessionRequestTimeout(timeout=0)
2012-07-26 16:27:04,598 DEBUG [IoReceiver - /10.201.140.228:60713] util.Logger 
(Logger.java:54) - FLUSH: [conn:6b6c14c0]
2012-07-26 16:27:04,599 DEBUG [IoReceiver - /10.201.140.228:60713] util.Logger 
(Logger.java:54) - SEND: [conn:6b6c14c0] ch=0 SessionDetach(name=[B@fe14de0)
2012-07-26 16:27:04,600 DEBUG [IoReceiver - /10.201.140.228:60713] util.Logger 
(Logger.java:54) - FLUSH: [conn:6b6c14c0]
2012-07-26 16:27:04,602 DEBUG [IoReceiver - /10.201.140.228:60713] util.Logger 
(Logger.java:54) - RECV: [conn:6b6c14c0] ch=0 MessageSetFlowMode(destination=1, 
flowMode=WINDOW)
2012-07-26 16:27:04,603 DEBUG [IoReceiver - /10.201.140.228:60713] util.Logger 
(Logger.java:54) - RECV: [conn:6b6c14c0] ch=0 MessageFlow(destination=1, 
unit=BYTE, value=4294967295)
2012-07-26 16:27:04,604 DEBUG [IoReceiver - /10.201.140.228:60713] util.Logger 
(Logger.java:54) - RECV: [conn:6b6c14c0] ch=0 [S] ExecutionSync()
2012-07-26 16:27:04,606 DEBUG [IoReceiver - /10.201.140.228:60713] util.Logger 
(Logger.java:54) - RECV: [conn:6b6c14c0] ch=0 SessionTimeout(timeout=0)
2012-07-26 16:27:04,607 DEBUG [IoReceiver - /10.201.140.228:60713] util.Logger 
(Logger.java:54) - RECV: [conn:6b6c14c0] ch=0 SessionDetached(name=[B@10bfb545, 
code=NORMAL)
2012-07-26 16:27:07,801 DEBUG [IoReceiver - /10.201.140.228:60713] util.Logger 
(Logger.java:54) - connection closed: conn:6b6c14c0

Here is the error from ActiveMQ:

 INFO | 
Connection:amqp://cwood:********@cwlab-011343334394271/sp?brokerlist='tcp://cwlab-01.secret:5672?connectdelay='5000'&retries='1000''
 INFO | Using ProtocolVersion for Session:0-10
 INFO | New Method Dispatcher:AMQProtocolSession[null]
 INFO | Connecting with ProtocolHandler Version:0-10
 INFO | The broker does not support the configured connection idle timeout of 
120 sec, using the brokers max supported value of 0 sec instead.
 INFO | Connected with ProtocolHandler Version:0-10
 INFO | Successfully refreshed JMS Connection
 INFO | Created session:org.apache.qpid.client.AMQSession_0_10@46fb3d6
 INFO | Prefetching delayed existing messages will not flow until requested via 
receive*() or setML().
 INFO | Closing AMQConnection due to :org.apache.qpid.AMQException: ch=0 id=2 
ExecutionException(errorCode=RESOURCE_LOCKED, commandId=3, 
description=Exclusive Queue: amq.cw2 owned exclusively by another session) 
[error code 405: Already exists]
ERROR | Throwable Received but no listener set: org.apache.qpid.AMQException: 
ch=0 id=2 ExecutionException(errorCode=RESOURCE_LOCKED, commandId=3, 
description=Exclusive Queue: amq.cw2 owned exclusively by another session) 
[error code 405: Already exists]
 INFO | Closing AMQConnection due to :org.apache.qpid.AMQException: ch=0 id=2 
ExecutionException(errorCode=RESOURCE_LOCKED, commandId=3, 
description=Exclusive Queue: amq.cw2 owned exclusively by another session) 
[error code 405: Already exists]
ERROR | Throwable Received but no listener set: org.apache.qpid.AMQException: 
ch=0 id=2 ExecutionException(errorCode=RESOURCE_LOCKED, commandId=3, 
description=Exclusive Queue: amq.cw2 owned exclusively by another session) 
[error code 405: Already exists]
 INFO | Closing session: org.apache.qpid.client.AMQSession_0_10@46fb3d6
 WARN | Setup of JMS message listener invoker failed for destination 'amq.cw2' 
- trying to recover. Cause: Error registering consumer: 
org.apache.qpid.AMQException: ch=0 id=2 
ExecutionException(errorCode=RESOURCE_LOCKED, commandId=3, 
description=Exclusive Queue: amq.cw2 owned exclusively by another session) 
[error code 405: Already exists]
javax.jms.JMSException: Error registering consumer: 
org.apache.qpid.AMQException: ch=0 id=2 
ExecutionException(errorCode=RESOURCE_LOCKED, commandId=3, 
description=Exclusive Queue: amq.cw2 owned exclusively by another session) 
[error code 405: Already exists]
        at org.apache.qpid.client.AMQSession$4.execute(AMQSession.java:2048)
        at org.apache.qpid.client.AMQSession$4.execute(AMQSession.java:2000)
        at 
org.apache.qpid.client.AMQConnectionDelegate_0_10.executeRetrySupport(AMQConnectionDelegate_0_10.java:366)
        at 
org.apache.qpid.client.AMQConnection.executeRetrySupport(AMQConnection.java:577)
        at 
org.apache.qpid.client.failover.FailoverRetrySupport.execute(FailoverRetrySupport.java:102)
        at 
org.apache.qpid.client.AMQSession.createConsumerImpl(AMQSession.java:1998)
        at org.apache.qpid.client.AMQSession.createConsumer(AMQSession.java:980)
        at 
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.createConsumer(AbstractPollingMessageListenerContainer.java:477)
        at 
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.createListenerConsumer(AbstractPollingMessageListenerContainer.java:221)
        at 
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.initResourcesIfNecessary(DefaultMessageListenerContainer.java:1079)
        at 
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1055)
        at 
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1048)
        at 
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:947)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown 
Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)
Caused by: org.apache.qpid.AMQException: ch=0 id=2 
ExecutionException(errorCode=RESOURCE_LOCKED, commandId=3, 
description=Exclusive Queue: amq.cw2 owned exclusively by another session) 
[error code 405: Already exists]
        at 
org.apache.qpid.client.AMQSession_0_10.setCurrentException(AMQSession_0_10.java:1054)
        at 
org.apache.qpid.client.AMQSession_0_10.sync(AMQSession_0_10.java:1034)
        at 
org.apache.qpid.client.AMQSession_0_10.sendConsume(AMQSession_0_10.java:646)
        at 
org.apache.qpid.client.AMQSession_0_10.sendConsume(AMQSession_0_10.java:67)
        at 
org.apache.qpid.client.AMQSession.consumeFromQueue(AMQSession.java:2595)
        at 
org.apache.qpid.client.AMQSession.registerConsumer(AMQSession.java:2965)
        at org.apache.qpid.client.AMQSession.access$500(AMQSession.java:97)
        at org.apache.qpid.client.AMQSession$4.execute(AMQSession.java:2025)
        ... 15 more




I am horribly puzzled and I welcome any/all hints.

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to