Increasing MQTT redeliver timeout on Active MQ 5.14.3 broker

Previous Topic Next Topic
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

Increasing MQTT redeliver timeout on Active MQ 5.14.3 broker

Hi all,

I am using Active MQ 5.14.3 as an MQTT broker. I am talking to it using the
paho java client v1.1.1.

My application uses a paho MQTT client to subscribe to a certain topic. I
am also setting manual acks so when it gets a callback (each time a msg
arrives) it does not ack immediately the msg (QOS 1 or 2). I pass the
message further along for processing and only after the processing is done
I ack back the message (based on the initial id).

In the logs I am seeing a lot of messages being resent by the broker (the
callback is called with the same messages). I am assuming this happens
because my processing is taking longer than some redelivery timeout on the
broker. It seems to happen alternatively between 1 and 2 seconds.

1. Is this redelivery timeout specified by MQTT or ActiveMQ? I could not
find explicit mention of it in the MQTT specs.
2. What is that redelivery timeout and where is it specified?
3. How to make sure that the redeliveries I am seeing are due indeed to
timeout on the broker and not something else?

What I tried:
I applied the config suggested here to set
the redeliver timeout. It did not seem to work. I set the redelivery delay
to every 10 sec but it actually redelivers every 1-2 sec like before.

Here is the config I started ActiveMQ with. The stuff is bold is what I
added extra to the default ActiveMQ config:

<broker xmlns=""
brokerName="localhost" dataDirectory="${}"

*        <plugins>*

*            <redeliveryPlugin fallbackToDeadLetter="true"*

*                              sendToDlqIfMaxRetriesExceeded="true">*

*                <redeliveryPolicyMap>*

*                    <redeliveryPolicyMap>*

*                        <defaultEntry>*

*                            <!-- the fallback policy for all other
destinations -->*

*                            <redeliveryPolicy maximumRedeliveries="-1"*


*                                              redeliveryDelay="10000"/>*

*                        </defaultEntry>*

*                    </redeliveryPolicyMap>*

*                </redeliveryPolicyMap>*

*            </redeliveryPlugin>*

*        </plugins>*


Any help would be much appreciated,