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)

                                          

Reply via email to