Improving reliability of servicemix-jms  - servicemix looses messages when 
crashing
-----------------------------------------------------------------------------------

                 Key: SM-555
                 URL: https://issues.apache.org/activemq/browse/SM-555
             Project: ServiceMix
          Issue Type: Improvement
          Components: servicemix-jms
    Affects Versions: 3.0
            Reporter: Klaus Alfert
            Priority: Critical


ServiceMix can loose (incoming) messages during a crashing. 

The test-setup is simple: one process populates a queue, servicemix reads this 
queue and writes each message in a second queue, which is consumed by a second 
process. During this test servicemix is killed and restarted.

My test results showed that some times some messages are lost. Looking in the 
source code reveals that reading from the queue is done with an 
AUTO_ACKNOWLEDGE, which implies that there is no dependency between doing an 
(implicit) commit on the queue and successful sending of a message to another 
JBI endpoint. Apparently, this can result in lost messages if servicemix 
crashes. I could possibly use the JCAProcessor, but then I need an external 
transaction manager.

I suggest to extend the servicemix-jms binding component with the 
(configurable) ability to make the read of an input queue dependent on the 
successful NMR send. This would add more realiability to servicemix, if needed, 
payed with a (small) loss of effeciency for wating on receiving a DONE as 
MessageExchange status.


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to