Details
-
Bug
-
Status: Closed
-
Critical
-
Resolution: Fixed
-
0.14
-
None
-
AMQP 0.10
Description
I want to run a test case where 20 subscribers register to a number of topics that 5 publishers publish to. This baseline test works and now I want to modify it to check whether durability works properly in QPID. The order is as follows:
1) Broker starts up
2) Subscribers announce a durable subscription and then terminate
3) Publishers send their messages and terminate
4) Broker restarts
5) Subscribers connect again and read their messages (without announcing the durable subscription again)
Once again I try to be JMS compliant and I am using "Session.createDurableSubscriber(..)". However, when I do that I get an error, because the subscriber wants to have an exclusive subscription to a wildcard queue:
javax.jms.JMSException: Error registering consumer: org.apache.qpid.AMQException: ch=0 id=2 ExecutionException(errorCode=RESOURCE_LOCKED, commandId=4, classCode=8, commandCode=1, fieldIndex=0, description=resource-locked: Cannot grant exclusive access to queue clientId:T.# (qpid/broker/SessionAdapter.cpp:332), errorInfo={}) [error code 405: Already exists]
But this is weird since I never specified exclusiveness and even trying to disable it does not work (I tried adding "exclusive='false'" in the connectionFactory string as well as ";
{exclusive: False}" after the Destination address string.