It may not always be appropriate to hard code destinations into applications. Instead, you may want to allow the endpoints to dynamically discover the JMS destinations. The Fuse ESB JMS binding component provides two mechanisms for endpoints to dynamically discover destinations:
- destination choosers
Destination choosers are specific to the Fuse ESB JMS binding component. They are the first mechanism used by an endpoint when it trys to pick a JMS destination.
Destination choosers implement the
org.apache.servicemix.jms.endpoints.DestinationChooser
interface.- destination resolvers
Destination resolvers are part of the Spring JMS framework. They are used when the JMS destination is specified using a string. This can happen if either the destination chooser returns a string or if the endpoint's destination is configured using the
destinationName
attribute.Destination resolvers implement the
org.springframework.jms.support.destination.DestinationResolver
interface.