I’m pretty stumped here - I’ve went through the docs/wiki/jira as best I could, but couldn’t find anything on it at all - so I must be doing something really wrong here, apologies if I missed the doc that would have sorted this out.
I’m trying to test various JMS features in Qpid so I can demo/pitch it to the rest of my team. My problem is that server-side sessions appear to linger long after my sessions are closed gracefully on the client side. I’ve attached my current code, which has the test for durable subscriptions as the active test. I’ve left commented various permutations I’ve tried to make things work so what I’ve attempted can be seen. When running the program, it completes successfully and demonstrates durable subscriptions do indeed work. No surprise there. When running the program again, the session.createDurableSubscriber call stalls for a while. Eventually it times out with this message: Exception in thread "main" javax.jms.JMSException: Error registering consumer: org.apache.qpid.AMQException: timed out waiting for sync: complete = 4, point = 9 [error code 541: internal error] On the server side, this is what I get during a failing run: 2014-01-07 12:51:06,805 INFO [IoReceiver - /127.0.0.1:51065] (connection.open) - [con:124(/127.0.0.1:51065)] CON-1001 : Open 2014-01-07 12:51:06,809 INFO [IoReceiver - /127.0.0.1:51065] (connection.open) - [con:124(/127.0.0.1:51065)] CON-1001 : Open : Protocol Version : 0-10 2014-01-07 12:51:07,266 INFO [IoReceiver - /127.0.0.1:51065] (connection.open) - [con:124(guest@/127.0.0.1:51065/default)] CON-1001 : Open : Client ID : subscriber : Protocol Version : 0-10 : Client Version : 0.24 2014-01-07 12:51:07,305 INFO [IoReceiver - /127.0.0.1:51065] (channel.create) - [con:124(subscriber@/127.0.0.1:51065/default)/ch:0] CHN-1001 : Create 2014-01-07 12:52:07,358 INFO [IoReceiver - /127.0.0.1:51065] (channel.close_forced) - [con:124(subscriber@/127.0.0.1:51065/default)/ch:0] [con:124(subscriber@/127.0.0.1:51065/default)/ch:0] CHN-1003 : Close : 405 - Cannot declare queue('subscriber:DurableTestSession'), as exclusive queue with same name declared on another session 2014-01-07 12:52:07,698 INFO [IoReceiver - /127.0.0.1:51065] (connection.close) - [Broker] [con:124(subscriber@/127.0.0.1:51065/default)] CON-1002 : Close If I go into the web manager and delete the exchanges, queues, and sessions, I can run everything again successfully. I can also get a successful rerun if I bounce the server - which I’ve seen the unit tests also demonstrate. If something happens to the client and it needs to reconnect in a short period of time, it will fail to subscribe until Qpid releases the session. Based on this topic name, why would it be exclusive in the first place? test-topic / test-durable; {create: always, assert: never, node: { type: topic, durable: True, x-declare: { auto-delete: True, exclusive: False}}} Thanks in advance! -Logan --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org For additional commands, e-mail: users-h...@qpid.apache.org