Interestingly i found something similar but using Atomikos JTA in a test environment. My logs show the creation and commit of transactions constantly (see below) but that wasn't a high priority because it was a test environment. It especially occurs if a test has to wait a while for the mocks to be satisfied. However if there is something inside camel causing this in production, that is another matter.
09:12:06,350 INFO [Tracer] ID-rsimmonsjr-mbp-58071-1397571125528-0-12 >>> (TestRoute) marshal[org.apache.camel.component.jackson.JacksonDataFormat@70256760] --> activemq://queue:outbox <<< Pattern:InOnly, Headers:{breadcrumbId=ID-rsimmonsjr-mbp-58071-1397571125528-0-1, JMSCorrelationID=null, JMSXGroupID=null, JMSReplyTo=null, JMSDestination=queue://inbox, JMSPriority=4, JMSTimestamp=1397571126253, JMSType=null, JMSRedelivered=false, CamelInterceptedEndpoint=activemq://queue:inbox, JMSXUserID=null, JMSDeliveryMode=2, JMSMessageID=ID:rsimmonsjr-mbp-58070-1397571125204-3:5:2:3:1, JMSExpiration=0}, BodyType:byte[], Body:{"case_date":"2013-11-06T08:03:08.000+0000","case_id":"5000NQLj8N9J11"} After this the test case has to wait. (To mock it I set it to expect more messages then it will ever get.) 09:12:06,352 INFO [CompositeTransactionImp] registerSynchronization ( com.atomikos.jms.ConsumerProducerSupport$JmsRequeueSynchronization@80553152) for transaction 20140415-091204_AtomikosTxnMgr0001200001 09:12:06,353 INFO [CompositeTransactionImp] addParticipant ( XAResourceTransaction: 32303134303431352D3039313230345F41746F6D696B6F7354786E4D677230303031323030303031:32303134303431352D3039313230345F41746F6D696B6F7354786E4D67723132 ) for transaction 20140415-091204_AtomikosTxnMgr0001200001 09:12:06,353 INFO [XAResourceTransaction] XAResource.start ( 32303134303431352D3039313230345F41746F6D696B6F7354786E4D677230303031323030303031:32303134303431352D3039313230345F41746F6D696B6F7354786E4D67723132 , XAResource.TMNOFLAGS ) on resource amq-embedded represented by XAResource instance TransactionContext{transactionId=null} 09:12:06,353 INFO [Tracer] ID-rsimmonsjr-mbp-58071-1397571125528-0-12 >>> (TestRoute) activemq://queue:outbox --> unmarshal[org.apache.camel.component.jackson.JacksonDataFormat@70256760] <<< Pattern:InOnly, Headers:{JMSCorrelationID=null, JMSRedelivered=false, JMSMessageID=ID:rsimmonsjr-mbp-58070-1397571125204-3:5:2:3:1, JMSDeliveryMode=2, JMSPriority=4, JMSXGroupID=null, breadcrumbId=ID-rsimmonsjr-mbp-58071-1397571125528-0-1, JMSTimestamp=1397571126253, JMSType=null, JMSXUserID=null, JMSDestination=queue://inbox, CamelInterceptedEndpoint=activemq://queue:outbox, JMSExpiration=0, JMSReplyTo=null}, BodyType:byte[], Body:{"case_date":"2013-11-06T08:03:08.000+0000","case_id":"5000NQLj8N9J11"} 09:12:06,354 INFO [Tracer] ID-rsimmonsjr-mbp-58071-1397571125528-0-12 >>> (TestRoute) unmarshal[org.apache.camel.component.jackson.JacksonDataFormat@70256760] --> mock://after_to_queue <<< Pattern:InOnly, Headers:{JMSExpiration=0, JMSTimestamp=1397571126253, JMSCorrelationID=null, JMSDestination=queue://inbox, JMSReplyTo=null, CamelInterceptedEndpoint=activemq://queue:outbox, JMSMessageID=ID:rsimmonsjr-mbp-58070-1397571125204-3:5:2:3:1, JMSXGroupID=null, JMSXUserID=null, breadcrumbId=ID-rsimmonsjr-mbp-58071-1397571125528-0-1, JMSDeliveryMode=2, JMSType=null, JMSRedelivered=false, JMSPriority=4}, BodyType:com.ea.wwce.camel.test.utilities.TransactionTestTools.CaseRecord, Body:{case_date=2013-11-06 02:03:08.0, case_id=5000NQLj8N9J11} 09:12:06,354 INFO [XAResourceTransaction] XAResource.end ( 32303134303431352D3039313230345F41746F6D696B6F7354786E4D677230303031323030303031:32303134303431352D3039313230345F41746F6D696B6F7354786E4D67723132 , XAResource.TMSUCCESS ) on resource amq-embedded represented by XAResource instance TransactionContext{transactionId=XID:[1096044365,globalId=32303134303431352d3039313230345f41746f6d696b6f7354786e4d677230303031323030303031,branchId=32303134303431352d3039313230345f41746f6d696b6f7354786e4d67723132]} 09:12:06,354 INFO [CompositeTransactionImp] commit() done (by application) of transaction 20140415-091204_AtomikosTxnMgr0001200001 09:12:06,355 INFO [XAResourceTransaction] XAResource.commit ( 32303134303431352D3039313230345F41746F6D696B6F7354786E4D677230303031323030303031:32303134303431352D3039313230345F41746F6D696B6F7354786E4D67723132 , true ) on resource amq-embedded represented by XAResource instance TransactionContext{transactionId=null} 09:12:06,355 INFO [BaseTransactionManager] resume ( com.atomikos.icatch.imp.CompositeTransactionImp@7ceb8014 ) done for transaction 20140415-091204_AtomikosTxnMgr0001000001 09:12:06,356 INFO [XAResourceTransaction] XAResource.end ( 32303134303431352D3039313230345F41746F6D696B6F7354786E4D677230303031303030303031:32303134303431352D3039313230345F41746F6D696B6F7354786E4D67723130 , XAResource.TMSUCCESS ) on resource amq-embedded represented by XAResource instance TransactionContext{transactionId=XID:[1096044365,globalId=32303134303431352d3039313230345f41746f6d696b6f7354786e4d677230303031303030303031,branchId=32303134303431352d3039313230345f41746f6d696b6f7354786e4d67723130]} 09:12:06,356 INFO [Tracer] ID-rsimmonsjr-mbp-58071-1397571125528-0-13 >>> (ResultsRoute) from(activemq://queue:outbox) --> transacted[ref:java:app/activemq/txnManager/policy/REQUIRED] <<< Pattern:InOnly, Headers:{CamelJmsDeliveryMode=2, JMSReplyTo=null, JMSDestination=queue://outbox, JMSType=null, JMSTimestamp=1397571126353, breadcrumbId=ID-rsimmonsjr-mbp-58071-1397571125528-0-1, JMSXGroupID=null, JMSPriority=4, JMSCorrelationID=null, JMSDeliveryMode=2, JMSRedelivered=false, JMSExpiration=0, JMSXUserID=null, CamelInterceptedEndpoint=activemq://queue:outbox, JMSMessageID=ID:rsimmonsjr-mbp-58070-1397571125204-3:5:8:1:1}, BodyType:byte[], Body:{"case_date":"2013-11-06T08:03:08.000+0000","case_id":"5000NQLj8N9J11"} 09:12:06,356 INFO [CompositeTransactionImp] commit() done (by application) of transaction 20140415-091204_AtomikosTxnMgr0001000001 09:12:06,356 INFO [Tracer] ID-rsimmonsjr-mbp-58071-1397571125528-0-13 >>> (ResultsRoute) transacted[ref:java:app/activemq/txnManager/policy/REQUIRED] --> unmarshal[org.apache.camel.component.jackson.JacksonDataFormat@70256760] <<< Pattern:InOnly, Headers:{CamelJmsDeliveryMode=2, JMSReplyTo=null, JMSDestination=queue://outbox, JMSType=null, JMSTimestamp=1397571126353, breadcrumbId=ID-rsimmonsjr-mbp-58071-1397571125528-0-1, JMSXGroupID=null, JMSPriority=4, JMSCorrelationID=null, JMSDeliveryMode=2, JMSRedelivered=false, JMSExpiration=0, JMSXUserID=null, CamelInterceptedEndpoint=activemq://queue:outbox, JMSMessageID=ID:rsimmonsjr-mbp-58070-1397571125204-3:5:8:1:1}, BodyType:byte[], Body:{"case_date":"2013-11-06T08:03:08.000+0000","case_id":"5000NQLj8N9J11"} 09:12:06,356 INFO [XAResourceTransaction] XAResource.commit ( 32303134303431352D3039313230345F41746F6D696B6F7354786E4D677230303031303030303031:32303134303431352D3039313230345F41746F6D696B6F7354786E4D67723130 , true ) on resource amq-embedded represented by XAResource instance TransactionContext{transactionId=null} 09:12:06,357 INFO [Tracer] ID-rsimmonsjr-mbp-58071-1397571125528-0-13 >>> (ResultsRoute) unmarshal[org.apache.camel.component.jackson.JacksonDataFormat@70256760] --> mock://end <<< Pattern:InOnly, Headers:{CamelJmsDeliveryMode=2, CamelInterceptedEndpoint=activemq://queue:outbox, JMSPriority=4, JMSReplyTo=null, JMSMessageID=ID:rsimmonsjr-mbp-58070-1397571125204-3:5:8:1:1, JMSType=null, JMSTimestamp=1397571126353, JMSXGroupID=null, JMSRedelivered=false, JMSDestination=queue://outbox, JMSDeliveryMode=2, breadcrumbId=ID-rsimmonsjr-mbp-58071-1397571125528-0-1, JMSCorrelationID=null, JMSExpiration=0, JMSXUserID=null}, BodyType:com.ea.wwce.camel.test.utilities.TransactionTestTools.CaseRecord, Body:{case_date=2013-11-06 02:03:08.0, case_id=5000NQLj8N9J11} 09:12:06,357 INFO [XAResourceTransaction] XAResource.end ( 32303134303431352D3039313230345F41746F6D696B6F7354786E4D677230303031313030303031:32303134303431352D3039313230345F41746F6D696B6F7354786E4D67723131 , XAResource.TMSUCCESS ) on resource amq-embedded represented by XAResource instance TransactionContext{transactionId=XID:[1096044365,globalId=32303134303431352d3039313230345f41746f6d696b6f7354786e4d677230303031313030303031,branchId=32303134303431352d3039313230345f41746f6d696b6f7354786e4d67723131]} 09:12:06,357 INFO [BaseTransactionManager] createCompositeTransaction ( 10000 ): created new ROOT transaction with id 20140415-091204_AtomikosTxnMgr0001300001 09:12:06,357 INFO [CompositeTransactionImp] commit() done (by application) of transaction 20140415-091204_AtomikosTxnMgr0001100001 09:12:06,358 INFO [XAResourceTransaction] XAResource.commit ( 32303134303431352D3039313230345F41746F6D696B6F7354786E4D677230303031313030303031:32303134303431352D3039313230345F41746F6D696B6F7354786E4D67723131 , true ) on resource amq-embedded represented by XAResource instance TransactionContext{transactionId=null} 09:12:06,358 INFO [BaseTransactionManager] createCompositeTransaction ( 10000 ): created new ROOT transaction with id 20140415-091204_AtomikosTxnMgr0001400001 09:12:06,360 INFO [CompositeTransactionImp] registerSynchronization ( com.atomikos.jms.ConsumerProducerSupport$JmsRequeueSynchronization@820a09f1) for transaction 20140415-091204_AtomikosTxnMgr0001300001 09:12:06,360 INFO [CompositeTransactionImp] addParticipant ( XAResourceTransaction: 32303134303431352D3039313230345F41746F6D696B6F7354786E4D677230303031333030303031:32303134303431352D3039313230345F41746F6D696B6F7354786E4D67723133 ) for transaction 20140415-091204_AtomikosTxnMgr0001300001 09:12:06,360 INFO [XAResourceTransaction] XAResource.start ( 32303134303431352D3039313230345F41746F6D696B6F7354786E4D677230303031333030303031:32303134303431352D3039313230345F41746F6D696B6F7354786E4D67723133 , XAResource.TMNOFLAGS ) on resource amq-embedded represented by XAResource instance TransactionContext{transactionId=null} 09:12:06,360 INFO [CompositeTransactionImp] registerSynchronization ( com.atomikos.jms.ConsumerProducerSupport$JmsRequeueSynchronization@83bee290) for transaction 20140415-091204_AtomikosTxnMgr0001400001 09:12:06,361 INFO [CompositeTransactionImp] addParticipant ( XAResourceTransaction: 32303134303431352D3039313230345F41746F6D696B6F7354786E4D677230303031343030303031:32303134303431352D3039313230345F41746F6D696B6F7354786E4D67723134 ) for transaction 20140415-091204_AtomikosTxnMgr0001400001 09:12:06,361 INFO [XAResourceTransaction] XAResource.start ( 32303134303431352D3039313230345F41746F6D696B6F7354786E4D677230303031343030303031:32303134303431352D3039313230345F41746F6D696B6F7354786E4D67723134 , XAResource.TMNOFLAGS ) on resource amq-embedded represented by XAResource instance TransactionContext{transactionId=null} 09:12:07,336 INFO [XAResourceTransaction] XAResource.end ( 32303134303431352D3039313230345F41746F6D696B6F7354786E4D677230303030363030303031:32303134303431352D3039313230345F41746F6D696B6F7354786E4D677238 , XAResource.TMSUCCESS ) on resource amq-embedded represented by XAResource instance TransactionContext{transactionId=XID:[1096044365,globalId=32303134303431352d3039313230345f41746f6d696b6f7354786e4d677230303030363030303031,branchId=32303134303431352d3039313230345f41746f6d696b6f7354786e4d677238]} 09:12:07,337 INFO [CompositeTransactionImp] commit() done (by application) of transaction 20140415-091204_AtomikosTxnMgr0000600001 And on it goes until the timeout hits on the test and it is shut down. I guess my concern is why it should be creating transactions for doing nothing but waiting. Perhaps it is creating a new transaction per poll which seems a bit excessive. I would think it would be better to create the transaction only when a new message arrives and a poll is successful. i.e. check if there are messages --> if yes then create transaction and fetch message. However with JTA you cant use caching so if you have composite resources involved in the route, the constant connection spam is unavoidable. *Robert Simmons Jr. MSc. - Lead Java Architect @ EA* *Author of: Hardcore Java (2003) and Maintainable Java (2012)* *LinkedIn: **http://www.linkedin.com/pub/robert-simmons/40/852/a39 <http://www.linkedin.com/pub/robert-simmons/40/852/a39>* On Tue, Apr 15, 2014 at 8:01 AM, Claus Ibsen <claus.ib...@gmail.com> wrote: > On Mon, Apr 14, 2014 at 3:24 PM, nqbeel <a.nabeelaha...@gmail.com> wrote: > > Trying to set up a route with transaction handling on a camel, this > leads to > > connection to the activeMQ drop and reconnect every few milliseconds is > this > > expected, is there a work around? > > > > Do you use caching as recommended here, eg see that 2nd box on the top > of the page > http://camel.apache.org/jms > > > > Logs showing repeatedly reconnecting to ActiveMQ server: > > > > ActiveMQ FailoverTransport Successfully connected to > > ssl://serveraddress:61617 > > ActiveMQ FailoverTransport Successfully connected to > > ssl://serveraddress:61617 > > ActiveMQ FailoverTransport Successfully connected to > > ssl://serveraddress:61617 > > > > > > > > -- > > View this message in context: > http://camel.465427.n5.nabble.com/Camel-transaction-handler-forces-reconnecting-to-ActiveMQ-tp5750224.html > > Sent from the Camel - Users mailing list archive at Nabble.com. > > > > -- > Claus Ibsen > ----------------- > Red Hat, Inc. > Email: cib...@redhat.com > Twitter: davsclaus > Blog: http://davsclaus.com > Author of Camel in Action: http://www.manning.com/ibsen > hawtio: http://hawt.io/ > fabric8: http://fabric8.io/ >