Using dynamic JMS endpoints
You can dynamically invoke services using JMS import bindings. The import that you invoke is decided at run time and does not need to be wired directly to a component. During a dynamic invocation, you do not specify the endpoints that you use in the import bindings. If you use a mediation flow component, you can specify a target import and dynamic endpoint address using some mediation primitives. For example, the Message Element Setter mediation primitive.
- /headers/SMOHeader/Target/address
- /headers/SMOHeader/Target/@bindingType
- /headers/SMOHeader/Target/@import
- /headers/SMOHeader/AlternateTarget/address
- /headers/SMOHeader/AlternateTarget/@bindingType
- /headers/SMOHeader/AlternateTarget/@import
The address field includes the dynamic invocation target service URI for requests. When requests are routed, the @bindingType field provides further details about the URI. It indicates the type of binding that is used during a dynamic invocation. When requests are routed, the @import field provides the name of a target import that is used for dynamic invocation.
>>-scheme--:--jms-variant--:--jms-dest--?--parameter-----------><- The
schemefor a JMS URI must bejms. - The
jms-variantprovides more information about the JMS connection (for example by using the variant jndi). jms-destidentifies the JMS destination object, and must correspond to thejms-variant.parameteris a key value pair separated by=
. The only key supported isjndiConnectionFactoryName
. The value of this key must be the JNDI name of the connection factory. Usage of this parameter is optional.
jms:jndi:MyTargetQueueName?jndiConnectionFactoryName=MyConnectionFactoryName