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.

Reply via email to