Hi,
I am working on the dynamic recipient list, and have some problems :-( with it. The dynamic recipient list is throwing some exceptions while running - here are the details For this pattern (I am using Spring XML configuration instead of Java DSL): <route xmlns="http://activemq.apache.org/camel/schema/spring"> <from uri="jms:topic:SampleT1" id="Camel_JMS_2"/> <recipientList> <xpath>/root/addr/text()</xpath> </recipientList> </route> It is supposed to send the message to all the recipients listed in the xpath /root/addr So if this message is sent to the topic SampleT1, <root> <addr>jms:queue:SampleQ1</addr> <addr>jms:queue:SampleQ2</addr> <moreDetails>...</moreDetails> </root> It should forward the same message to both SampleQ1 and SampleQ2. Is this right? But when I run it, it is giving the following exception: Even if I don't use the text() function (just use the XPath /root/addr) it is giving an error org.apache.camel.RuntimeCamelException: org.apache.camel.NoSuchEndpointException: No endpoint could be found for: [#text: jms:queue:SampleQ1] at org.apache.camel.component.jms.EndpointMessageListener.onMessage(Endpoin tMessageListener.java:71) at org.springframework.jms.listener.AbstractMessageListenerContainer.doInvo keListener(AbstractMessageListenerContainer.java:531) at org.springframework.jms.listener.AbstractMessageListenerContainer.invoke Listener(AbstractMessageListenerContainer.java:466) at org.springframework.jms.listener.AbstractMessageListenerContainer.doExec uteListener(AbstractMessageListenerContainer.java:435) at org.springframework.jms.listener.AbstractPollingMessageListenerContainer .doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:322) at org.springframework.jms.listener.AbstractPollingMessageListenerContainer .receiveAndExecute(AbstractPollingMessageListenerContainer.java:260) at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMe ssageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java :944) at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMe ssageListenerInvoker.run(DefaultMessageListenerContainer.java:875) at java.lang.Thread.run(Thread.java:595) Caused by: org.apache.camel.NoSuchEndpointException: No endpoint could be found for: [#text: jms:queue:SampleQ1] at org.apache.camel.util.CamelContextHelper.getMandatoryEndpoint(CamelConte xtHelper.java:54) at org.apache.camel.util.ExchangeHelper.resolveEndpoint(ExchangeHelper.java :85) at org.apache.camel.processor.RecipientList.resolveEndpoint(RecipientList.j ava:74) at org.apache.camel.processor.RecipientList.process(RecipientList.java:65) at org.apache.camel.management.InstrumentationProcessor.process(Instrumenta tionProcessor.java:69) at org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.j ava:155) at org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.j ava:91) at org.apache.camel.management.InstrumentationProcessor.process(Instrumenta tionProcessor.java:57) at org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcess or.java:39) at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper. java:41) at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncP rocessor.java:66) at org.apache.camel.component.jms.EndpointMessageListener.onMessage(Endpoin tMessageListener.java:68) ... 8 more Also what is equivalent spring configuration for this DSL: from("direct:a").recipientList( header("recipientListHeader").tokenize(",")); I can use a header expression but not the tokenizer, <route xmlns="http://activemq.apache.org/camel/schema/spring"> <from uri="jms:topic:SampleT1" id="Camel_JMS_2"/> <recipientList> <header>$foo</header> </recipientList> </route> So what does the above pattern do? Get the list of all recipient list from the header - but what is the default tokenize value? Thanks Suresh