EJB / EE :: ActiveMQ - Use Of Durable Subscriber
Jun 27, 2014I am trying to test out the use of durable subscribers with activeMQ. I create the subscriber
connection.setClientID(clientId);
session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
destination = session.createTopic("my.topic");
MessageConsumer consumer = session.createDurableSubscriber(destination, subscriptionName, null, false);
I then receive the message synchronously. No message as expected.If use ActiveMQ web admin console, it shows the topic, with enqueue and dequeue of 0.
I then run the test to send messages, and then exits
session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
destination = session.createTopic("my.topic");
MessageProducer producer = session.createProducer(destination);
producer.setDeliveryMode(DeliveryMode.PERSISTENT);
String text = "Hello World! (" + i+ ")";
message = session.createTextMessage(text);
producer.send(message);
The test exits and if I look at the ActiveMQ admin console, it now shows two messages enqueued, 0 dequeued
This seems ok
Finally i run the consumer test again. It receives the messages just fine. But again the ActiveMQ admin console shows two messages enqueued and , 0 dequeued. It always shows 0 dequeued.
I even changed the test so that instead of doing a sync receive it used an async receive with a listener...but still the same behavior. The topic dequeued value is always 0 on the Topics base of the ActiveMQ web console.