In a scenario like: HTTP-Consumer ---> Content-based Router eip ----> xslt ----> HTTP-Provider -----> External Web Service
If the JCA flow is used to transport the MessageExchange (with transaction/persistence), when e.g. HTTP-Consumer sends a MessageExchange to the Content-based Router (InOnly through send() method), the message will be put in an internal queue (through the JCA flow) and then delivered to the Router eip. Assuming this is true, my first question is when that message will be removed from the queue? After the Router eip sends a DONE reply message to the HTTP-Consumer but before the HTTP-Consumer receives it? After the HTTP-Consumer receives the DONE message from the Router eip? And when the Router eip will send a DONE message to the HTTP-Consumer? Sometime after the send() method to xslt succeeded (no exception i.e. when through the JCA flow the message is sucessfully posted in the queue between the Router eip and the xslt) or after explicitely receiving the DONE message from the xslt? Another related question is, if all components use the JCA flow and a JMS message (containing the MessageExchange) is posted in the internal queue between xslt and HTTP-Provider, how can we make sure that the message is not removed from the queue until the external web service returns successfully (no soap fault, assuming the web service method doesn't return any value or that we don't care about the return value)? And if the JCA flow was only used between HTTP-Consumer and the Router eip, with e.g. SEDA flow for all the remaining components from Router eip to external web service (let's assume for the purpose of the example that all components except HTTP-Consumer use sendSync), how can we guarantee that we don't lost the message until we have the confirmation that the call to the external web service succeeded and returned with no fault? Sorry for the long email :-), but the whole point is to try to better understand the different transaction/persistence scenarios using one or a mix of different NMR flows combined with calls to web services hosted outside ServiceMix. Thanks a lot! -- View this message in context: http://www.nabble.com/NMR-Flows-%2B-transaction-persistence-tf2476584.html#a6906622 Sent from the ServiceMix - User mailing list archive at Nabble.com.
