The normal routing mechanism in JBI uses Queue Semantics, that is each request is routed to one and only one endpoint.

ServiceMix supports an additional routing mechanism which uses Topic Semantics. That is every subscriber who is interested in the message receives a copy of the message.

You can subscribe to the output of an endpoint as follows, using the <subscriptionSpec service="serviceQName"/> tag. (You can include as many as you like inside a <subscriptions/> tag

Error formatting macro: snippet: java.lang.NullPointerException

Notes

Note that the queue semantics and topic semantics are completely mutually exclusive. A single endpoint can have a collection of destination endpoints used to dispatch messages as well as a group of subscribers.

A message is dispatched to its usual JBI destination endpoint, then whether its dispatched or not, its also dispatched to all of its subscribers.

To avoid confusing JBI users, it is an error for a message to not be deliverable using the normal JBI sematics. If you wish to allow no message to be dispatched in the normal JBI manner and want to use just subscriber based routing you can disable the JBI error by setting the failIfNoDestinationEndpoint flag on each <activationSpec/>.

Error formatting macro: snippet: java.lang.NullPointerException
  • No labels