Loading

Anypoint MQ Message Getting Processed Twice

Fecha de publicación: Jul 17, 2025
Solución

SYMPTOM

Anypoint MQ appears to be delivering duplicate messages. The same message gets reprocessed twice or more with 2 minutes intervals via the MQ subscriber operation. This issue does not get observed if custom "Acknowledgement timeout" is configured, but happens with default "Acknowledgment timeout"

CAUSE

The behavior is expected as the "Acknowledgement timeout" defined in the queue level does not get honored by MQ subscriber with AUTO ack mode. If the message processing time is over 2 minutes intermittently, the message is returned back to the queue for redelivery resulting in the same message getting processed more than once.

An example MQ subscriber config is as below.
 
<anypoint-mq:subscriber doc:name="Subscriber" doc:id="2c2639bc-a27c-436e-bd21-c51b8285c600" config-ref="Anypoint_MQ_Config" destination="my-queue">
</anypoint-mq:subscriber>
      User-added image

SOLUTION

The recommended approach will be to define a different TTL for the acknowledgementTimeout in the subscriber configuration. The default TTL is two minutes. If you need a different TTL, you must define it explicitly in the acknowledgementTimeout parameter of the subscriber.
 
<anypoint-mq:subscriber doc:name="Subscriber" doc:id="2c2639bc-a27c-436e-bd21-c51b8285c600" config-ref="Anypoint_MQ_Config" destination="my-queue" acknowledgementTimeout="5" acknowledgementTimeoutUnit="MINUTES">
</anypoint-mq:subscriber>

 
Número del artículo de conocimiento

001119407

 
Cargando
Salesforce Help | Article