Search code examples
jmsrabbitmqqpid

Durable subscription with Qpid JMS client and RabbitMQ


I have problems creating a durable subscription to a topic in RabbitMQ using the Qpid JMS client.

I tried the following:

session.createDurableSubscriber( topic, "name" );

but I get a JMSAMQException with the message "Queue bound query failed: Woken up due to class javax.jms.JMSException"

Does anyone know the correct way to set up a durable subscriber using Qpid JMS client connecting to RabbitMQ?


Solution

  • This looks to be a Qpid JMS client bug.

    The createDurableSubscriber path is making use of a Qpid specific extension to the AMQP specification which RabbitMQ does not support (specifically exchange.bound). In order for interoperability, it should be guarding such calls in a similar way to QPID-5224.

    I'd suggest reporting this on the Qpid users list and raising a JIRA/submitting a patch.