Thank you for your response. Yes, we are experiencing TimeoutExceptions when the server fails to respond within the (default) 20 seconds to an InOut message. I had high hopes that this would fix the issue - alas, it did not.
Here is the connection string I'm using: failover:(tcp://10.0.33.118:61616?keepAlive=true&trace=true,tcp://10.0.33.119:61616?keepAlive=true&trace=true)?randomize=false This morning I changed the server application to use this: tcp://10.0.33.118:61616?keepAlive=true&trace=true Initial tests looked promising but then, once again, we have experienced the same Timeouts. Here's a partial stack trace: Caused by: org.apache.camel.ExchangeTimedOutException: The OUT message was not received within: 20000 millis. Exchange[Message: <?xml version="1.0" encoding="UTF-8"?> ...snip... I'm really at a loss as to what's happening and how to resolve this issue. In order to gain some visibility I'm ready to enable debug logging for org.apache.camel org.springframework org.apache.activemq Any thoughts/information/suggestions would be most welcome! TIA, Mike L. (aka patzerbud) PS: There are two servers running the server side of this - both will be monitoring the same Queue for the InOut messages. I can switch off one of the servers and see if that makes any difference... > > Is it timing out? > Have you tried specifying a keep alive parameter to activemq? > val activeMqConnection = "tcp://localhost:61616?keepAlive=true" > > - > @tommychheng > http://tommy.chheng.com > > On Tue, Dec 21, 2010 at 10:48 AM, Michael La Budde > <patzer...@hotmail.com>wrote: > > > > > Hi all: > > > > Here is what I am experiencing: > > > > After a period of time Camel stops pulling messages off a queue and > > ActiveMQ moves them to the DLQ. > > > > Environment: > > > > Camel 2.4.0 > > Spring 3.0.5 > > ActiveMQ 5.3.1 > > > > My Camel/Spring applications run inside JBoss on linux servers. > > > > The client application uses ProducerTemplate.requestBody(dest, xml) to send > > an InOut message. The destination is something like: > > > > "activemq:MyCompany.CAM" > > > > The route on the server side looks like this: > > > > <route> > > <from uri="activemq:MyCompany.CAM?concurrentConsumers=2"/> > > <choice> > > > > > > <when><xpath>/MyCompanyMessage/MessageHeader[MessageType='userAssociated']</xpath> > > <to uri="bean:associateUser"/> > > </when> > > > > > > <when><xpath>/MyCompanyMessage/MessageHeader[MessageType='userChanged']</xpath> > > <to uri="bean:changeUser"/> > > </when> > > > > > > <when><xpath>/MyCompanyMessage/MessageHeader[MessageType='checkAccount']</xpath> > > <to uri="bean:checkAccount"/> > > </when> > > > > > > <when><xpath>/MyCompanyMessage/MessageHeader[MessageType='createUser']</xpath> > > <to uri="bean:createUser"/> > > </when> > > <otherwise> > > <to uri="bean:unknownMessage"/> > > </otherwise> > > </choice> > > </route> > > > > Each bean implements the Processor interface and typically has only that > > one method. > > > > Everything works well for awhile - but then the InOut messages are no > > longer received. > > They get published to ActiveMQ properly but after the 20 second timeout > > (the default) they get moved to the DLQ. > > > > Before I write a servlet to handle the synchronous requests I thought I'd > > check here to see if anyone could shed some light on what is going on and > > how I can fix it. > > > > TIA, > > > > Mike L. (aka patzerbud) > > > >