Glad to help.
If you'd like, you could create a ticket in our issue tracker [1] so
this feature won't be forgotten. It would be helpful to mention the
usecase where an InOnly RoutingSlip would be helpful.
Cheers,
Jon
[1] https://issues.apache.org/activemq/browse/CAMEL
Carlos Quiroz wrote:
Hi
Thanks for your answer. Now that I read a bit more the pattern I see that
actually Recipient List is the one appropriate to me, specially if it
supports the InOnly pattern.
In any case I can also imagine the case of RoutingSlip applied in this
fashion as InOnly
Perhaps it could be a useful option
Carlos
janstey wrote:
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