Using the InOut MEP for each recipient was by design. Since the message (with attached routing slip) will pass in and out of each recipient (with the exception being the last), InOut should be set.

Do you require that endpoints be routed to in sequence? If not, maybe the Recipient List EIP would be more appropriate as in supports InOnly.

I haven't yet read the (long) thread you mentioned so maybe I'll have a different response when I get more context :)

Cheers,
Jon

Carlos Quiroz wrote:
Hi

I have been trying to use the new RoutingSlip to do something similar as
what is describe in:

http://www.nabble.com/TimeoutException-when-using-ReplyTo--td15043879s22882.html

RoutingSlip was my last item in the chain and it basically redirects
messages to one or more activemq:queueName destinations

If found the issue that all messages sent when using routing slip would
include a reply-to header an I'd get the same behaviour as described above.

After tracking this problem for a while I found that the reason is that
Routing Slips sets the exchange pattern as InOut as follows

                for (String nextRecipient : recipients) {
                        Endpoint<Exchange> endpoint = resolveEndpoint(exchange, 
nextRecipient);
                        Producer<Exchange> producer = 
producerCache.getProducer(endpoint);
                        Exchange ex = 
endpoint.createExchange(ExchangePattern.InOnly);

                        updateRoutingSlip(current);
                        copyOutToIn(ex, current);

                        producer.process(ex);

                        current = ex;
                }

When I change this to ExchangePattern.InOnly this works fine.
Is this behavior by design? Can this be made customizable?

Regards
Carlos Quiroz

Reply via email to