On Fri, May 8, 2009 at 2:58 PM, rohitbrai <rohitb...@gmail.com> wrote:
>
> I have a message which has -
> Header
>    "To" - "a...@sdf.com,x...@dsfsdf.com,s...@serr.com"
> Body
>    Hello
>
> onthis message I tried -
>
> from("jms:queue:new.test1").splitter(header("To").tokenize(",")).to("jms:queue:new.test2");
>
> and I was expecting 3 entries on test2 queue
> Header
>    "To" - "a...@sdf.com"
> Body
>    Hello
>
> Header
>    "To" - "x...@dsfsdf.com"
> Body
>    Hello
>
> Header
>    "To" - "s...@serr.com"
> Body
>    Hello
>
>
> But instead I got 3 messages on test2 queue like
> Header
>    "To" - "a...@sdf.com,x...@dsfsdf.com,s...@serr.com"
> Body
>    ...@sdf.com
>
> Header
>    "To" - "a...@sdf.com,x...@dsfsdf.com,s...@serr.com"
> Body
>    ...@dsfsdf.com
>
> Header
>    "To" - "a...@sdf.com,x...@dsfsdf.com,s...@serr.com"
> Body
>    s...@serr.com
>
> So I guess, I am doing it and even understanding it wrong.
>
> Can anyone here guide me how to handle this situation.
Hi

Welcome on the Camel ride.

The EIP patterns is about message routing where the message relies in
the BODY payload.
The header is just meta data about the message.

So the splitter operates on splitting the BODY and not the headers,
hence why you get the email address in the body.

So by default there EIP patterns dont really support your use case out
of the box, unless you do some manual fixup in Java code.

You could use a POJO or the like where you create new messages to send along.

private ProducerTemplate producer

public void sendSplittedMessages(String body, @Headers Map headers) {
  // loop the headers for each email adr
  for (...) {
     String email = ...
     producer.sendBodyAndHeader("jms:queue:new:test02", body, "To", email);
   }

And then have a route that is like
from("jms:queue:new.test1").bean(MySplitMessageClass.class,
"sendSplittedMessages");

where we route to our bean that, will do the "split" manually and send
a new message to the JMS queue.


>
> Thanks and Regards,
>
>
>
> --
> View this message in context: 
> http://www.nabble.com/Split-using-tokenize-on-header-tp23445496p23445496.html
> Sent from the Camel - Users mailing list archive at Nabble.com.
>
>



-- 
Claus Ibsen
Apache Camel Committer

Open Source Integration: http://fusesource.com
Blog: http://davsclaus.blogspot.com/
Twitter: http://twitter.com/davsclaus
Apache Camel Reference Card:
http://refcardz.dzone.com/refcardz/enterprise-integration
Interview with me:
http://architects.dzone.com/articles/interview-claus-ibsen-about?mz=7893-progress

Reply via email to