You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by Martin Eden <ma...@gmail.com> on 2017/05/12 05:44:55 UTC
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.
Questions:
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
http://activemq.apache.org/message-redelivery-and-dlq-handling.html 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="http://activemq.apache.org/schema/core"
brokerName="localhost" dataDirectory="${activemq.data}"
*schedulerSupport="true"*>
* <plugins>*
* <redeliveryPlugin fallbackToDeadLetter="true"*
* sendToDlqIfMaxRetriesExceeded="true">*
* <redeliveryPolicyMap>*
* <redeliveryPolicyMap>*
* <defaultEntry>*
* <!-- the fallback policy for all other
destinations -->*
* <redeliveryPolicy maximumRedeliveries="-1"*
*
initialRedeliveryDelay="5000"*
* redeliveryDelay="10000"/>*
* </defaultEntry>*
* </redeliveryPolicyMap>*
* </redeliveryPolicyMap>*
* </redeliveryPlugin>*
* </plugins>*
...
</broker>
Any help would be much appreciated,
M