How to avoid duplicate delivery and unmatched acknowledge when failover

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

How to avoid duplicate delivery and unmatched acknowledge when failover

aphor
This post was updated on .
Hi All,

My activemqs (5.14.3) are embeded in JBOSS EAP 6.4. it's master-slave(share database) mode. consumer is Message driven bean(MDB) and transaction is XA .
MDB max sessions are 2 , failover:(tcp://172.20.30.207:61616,tcp://172.20.30.148:61616)?initialReconnectDelay=100&jms.prefetchPolicy.all=5  is configed in ra.xml.

I got follow two exceptions from log when the comsumer is processing message, broker failover occur.
1. (posion ack cause message  to DLQ)  poisonCause = java.lang.Throwable: Duplicate delivery to ActiveMQSession {id=ID:sha-lri-pc-161-54839-1487845695630-29:1:2,started=true} java.lang.Object@523a1004}  

2. javax.jms.JMSException: Unmatched acknowledge, (The ack is from the processing message)

My question is that whether there is a way to avoid it?  thanks in advance.
Attached files:
activemq.log
ironjacamar.xml
ra.xml
broker-config.xml

Regards,
Aphor