If you want to do a fork/join pattern with the splitter, then see
http://camel.apache.org/composed-message-processor.html

with the spliter only way. eg use the aggregation strategy to merge your result.

On Mon, Nov 21, 2016 at 4:15 PM, DanielArias <dar...@koghi.com> wrote:
> Hi, I'm trying to make a synchronous call to an activemq sending a body right
> after I process some rest service invocation. Here is my code:
>
> some process here.. sent to this route.
>
> private String velocitySetThirdPartyTemplate =
> "velocity:file://url/velocity/file/SetThirdParty_Template.vm";
>
> from("direct:QueueThirdParty")
>                 .process(new ProcessThirdPartyError())
>                 .marshal()
>                 .xstream("UTF-8")
> //              wait for the body when the response of the Web Service is 200 
> ok
>                 .to(ExchangePattern.InOut,"jms:queue:CreateThirdParty")
>                 .to("activemq:queue:somequeue");
>
> from("jms:queue:CreateThirdParty")
>                 .transacted()
>                 .unmarshal()
>                 .xstream()
>                 .process(new SetBodyThirdParty())->this route define body as 
> an ArrayList
> of Pojo
>                 .split(body())
>                 .to(velocitySetThirdPartyTemplate)->this velocity make the 
> json required
> for the Web Service
>                 .process(new RestHeadersSetThirdParty())
>                 .to("restlet:http://ip:port/Web/Service/url";
>                                         + 
> "?restletMethod=post&throwExceptionOnFailure")
>                 .process(new ResponseProcess())
>                 .log("response ${in.body.getStatus().getCode()}")
>                 .process(new SetExchangeInOutBody()); -> this final process 
> set the body
> that I want to                                            send to the
> activemq in that is waiting for the reply.
>
> the problem is that the body that is sending to the end point
> "activemq:queue:somequeue" after waiting for a reply is the ArrayList of
> POJO before the split.
>
> Any Idea of how to send the body of the ".process(new
> SetExchangeInOutBody());" that is the one I need.
>
> Thanks in advance.
>
>
>
>
>
> --
> View this message in context: 
> http://camel.465427.n5.nabble.com/send-reply-body-after-finishing-complete-route-tp5790291.html
> Sent from the Camel - Users mailing list archive at Nabble.com.



-- 
Claus Ibsen
-----------------
http://davsclaus.com @davsclaus
Camel in Action 2: https://www.manning.com/ibsen2

Reply via email to