Hi,

I'm struggling to configure my Artemis instance to support MQTT persistent Subscriptions.

I have two NodeJS MQTT5 clients.

Client 1 connects and then subscribes to a topic.
Client 2 connects and then publishes messages to the topic every 1000ms.

Both set the clear option to false and set the QoS to 1 when subscribing and publishing.

When using these clients against HiveMQ's public MQTT MQ I see the following behavior.

Start Client 2 which connects and starts publishing messages.
Start Client 1 which connects and starts receiving messages.
Disconnect Client 1.
Wait 5 seconds.
Start Client 1 which connects and receives the messages publish while it was not connected.


When I try the same thing with my Artemis instance the messages published while Client 1 is not connected are lost.


The following shows the Artemis logging during the test steps:

[MQTTSession] MQTT session created: cdb31991-d5aa-447e-8d09-d640e2bca4c0
[MQTTStateManager] Adding MQTT session state for: client2
[MQTTStateManager] Adding durable MQTT state record for: client2
[MQTTStateManager] Serializing 0 subscriptions
[MQTTSession] MQTT session created: a6b9e876-ae42-4cbf-b098-40c00f164245
[MQTTStateManager] Adding MQTT session state for: client1
[MQTTStateManager] Adding durable MQTT state record for: client1
[MQTTStateManager] Serializing 0 subscriptions
[MQTTStateManager] Adding durable MQTT state record for: client1
[MQTTStateManager] Serializing 1 subscriptions
[MQTTSessionState] Matching hul/101/in with hul/101/in$: true
[MQTTSessionState] Matching hul/101/in with hul/101/in$: true
[MQTTStateManager] Adding durable MQTT state record for: client1
[MQTTStateManager] Serializing 0 subscriptions
[MQTTStateManager] Removing MQTT session state for: client1
[MQTTStateManager] Removed 1 durable MQTT state records for: client1
[MQTTSession] MQTT session created: 68f3bb3c-b243-4d63-bdaa-81af0d3872db
[MQTTStateManager] Adding MQTT session state for: client1
[MQTTStateManager] Adding durable MQTT state record for: client1
[MQTTStateManager] Serializing 0 subscriptions
[MQTTStateManager] Adding durable MQTT state record for: client1
[MQTTStateManager] Serializing 1 subscriptions
[MQTTSessionState] Matching hul/101/in with hul/101/in$: true
[MQTTSessionState] Matching hul/101/in with hul/101/in$: true
[MQTTStateManager] Adding durable MQTT state record for: client1
[MQTTStateManager] Serializing 0 subscriptions
[MQTTStateManager] Removing MQTT session state for: client1
[MQTTStateManager] Removed 1 durable MQTT state records for: client1

I have tried with persistence enabled and disabled in the broker.xml

Any ideas where I'm going wrong?

Regards

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@activemq.apache.org
For additional commands, e-mail: users-h...@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact


Reply via email to