1
votes

I use a ServiceMix + Camel combo for integration purposes.

Two of my camel routes uses the NMR component to exchange messages. At startup I got the following exception if message were waiting to be processed:

ServiceMixException: Could not dispatch exchange. No matching endpoints.

I seems to be looking for a endpoint called xyz:enpoint_name which is created a few seconds later

18:48:44,266 | INFO  | xtenderThread-10 | ManagementEndpointRegistry       | ement.ManagementEndpointRegistry  129 | 88 - org.apache.servicemix.nmr.management - 1.3.0.fuse-02-00 | Registering endpoint: org.apache.servicemix.nmr.core.InternalEndpointWrapper@e6810f84 with properties {CHANNEL_SYNC_DELIVERY=false, NAME=xyz:enpoint_name}
  • Is that expected ?
  • Is there a way to prevent the route to start before all the endpoint have been initialized ?
1
are your routes in separate bundles? - Ben ODay
That's right. Apparently, a consumer must be active on the NMR endpoint in order to avoid those errors. The wordaround I found until now is to start the bundles so that the consumer starts before the producer. - Olivier.Roger

1 Answers

2
votes

you can also use a route policy to control the startup/shutdown of routes, perhaps add a policy to check for the dependent route consumer prior to starting, etc...