I am facing similar problem. the published mqtt message cant survive activemq rebooting. ActiveMQ 5.11.1.bin my MQTT client base on M2mqtt here is the reproducing steps: 1. create an durable Qos 2 level topic subscriber; 2.Make the subscriber offline by cleaning the underling network connection. 3. use another M2mqtt client to publish one qos2 message to test/mytopic topic; 4.Shut down ActiveMQ and rebooting it; 5.Make the subscriber online again, you will find the published message disappear(the subscriber don't received the message and the builtin web console of activemq did not show the message either). I checked the ActiveMQ documentation, it says if you create one Qos2 level durable topic subscriber,and you designate persistent when publishing, then ActiveMQ will persist it. But I did not see where i can designate message's persistence when publishing. activemq broker persistent attrbutes is true.
Also I checked JMS client, on message side, it has DeliveryMode.Persistent or DeliveryMode.NonPersisent to indicate whether or not broker should persist message. But unfortunately with MQTT M2mqtt client, there is no such attribute so that I can use it to make activemq know that i want it to persist mqtt message. Is it feasible if I change the activemq source code mqtt2jmsconverter.java so that when it received one mqtt qos2 message, it will always persist it to disk such as kahadb or other persist storage? cause my application demands this persistentce requirements. -- View this message in context: http://activemq.2283324.n4.nabble.com/jira-Commented-AMQ-5466-Lost-persistent-message-sent-to-detached-consumer-before-keepAliveInterval-ed-tp4688516p4700305.html Sent from the ActiveMQ - Dev mailing list archive at Nabble.com.
