Hi,
I have no yet really run your example but I have successfully run similar
examples so camel should be able to do what you want to achieve here.
Some ideas how your code can be made simpler. For the processor you should use
the bean features of camel. Simply create your processor like this:
class MyProcessor {
public String doStuff(String inMsg) {
return "hello " + inMsg;
}
}
This does the same as your code.
The next thing is you do not need to use inOut jms and activemq components use
InOut by default. To call the bean simply use:
<to uri="myBean"/>
and define the bean in spring:
<bean id="myBean" class="MyProcessor"/>
This should work nicely.
Christian
Von: Mike L. [mailto:[email protected]]
Gesendet: Montag, 21. März 2011 20:46
An: [email protected]
Betreff: InOut over JMS always leads to Timout (ExchangeTimedOutException)
All:
I have been trying to take advantage of the InOut pattern over JMS. I am using
Camel 2.4.0 and ActiveMQ 5.3.1
I have created a simple example that can be run to replicate the problem I am
experiencing. Attached please find the source code plus ant build file. Within
the libs folder is a file listing all required jars (sorry - I wasn't sure
about uploading a 30M file to this list!).
Once you have the necessary jars in place under libs/compile then in two
terminal windows:
ant clean run-consumer
ant run-publisher
The consumer implements the InOut processor and the publisher invokes it over
JMS.
Within the second terminal window you will soon see
[java] Caused by: org.apache.camel.ExchangeTimedOutException: The OUT message
was not received within: 20000 millis. Exchange[Message: John]
[java] at
org.apache.camel.component.jms.JmsProducer.processInOut(JmsProducer.java:265)
[java] at
org.apache.camel.component.jms.JmsProducer.process(JmsProducer.java:147)
Originally I had specified 5 consumers in the
metadata/test-env/res/applicationContext-consumer.xml file. However, I can set
the number of consumers down to one and the same problem occurs. BTW, we use a
clustered environment - so I would like to specify multiple consumers and use
multiple computers.
Any insight into this would be greatly appreciated!!
TIA,
Mike L. (aka patzerbud)