HI,
I've got a fairly simple camel route that uses a recipient list to route
messages:
<route>
<from uri="activemq:my-from-queue" />
<process ref="getRouteKey" />
<log message="Route key is ${header.routeKey}" />
<recipientList>
<simple>fabric:${header.routeKey}</simple>
</recipientList>
</route>
The getRouteKey process refers to a bean that adds a "routeKey" field to the
exchange header, which is then used as a lookup in the fabric registry.
Providing there is a matching routeKey, e.g. fabric:boo, in the registry
everything works fine (i.e. I've got a container somewhere in the fabric
with a route that consumes from e.g. fabric:boo:activemq:my-boo-to-queue).
However, if there is no matching routeKey, e.g. fabric:foo, then the message
just disappears. I can see that a message was enqueued and dequeued on
(from) my-from-queue, but that's it. No exception, nothing.
Obviously, I can have the getRouteKey process lookup routeKey in the fabric
registry and throw an exception if it's not found, but it seems cleaner to
me to have a separate check in the camel route.
Any ideas?
--
View this message in context:
http://camel.465427.n5.nabble.com/Messages-disappear-if-fabric-endpoint-resolves-to-null-blank-tp5733683.html
Sent from the Camel - Users mailing list archive at Nabble.com.