Using dynamic JMS endpoints
Draft comment:
This topic was viewed 27 times since its publication
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.
This topic was viewed 27 times since its publication
You can override the endpoint address or the target import using the Target and AlternateTarget
sections of the SMO structure. The section of the SMO that you use to enable dynamic invocation is
as follows:
- /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.
The JMS endpoint that is used in the dynamic invocation, is structured according to the JMS URI
standard. In summary, the standard requires that JMS URIs have the following form:
>>-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.
An example of a valid JMS URI is:
jms:jndi:MyTargetQueueName?jndiConnectionFactoryName=MyConnectionFactoryName
This topic only applies to BAW, and is located in the BAW repository. Last updated on 2025-03-13 12:15