
使用动态 JMS 端点
Draft comment:
This topic was viewed 27 times since its publication
可以使用 JMS 导入绑定以动态方式调用服务。 您调用的导入在运行时来决定,并且不需要直接连接到组件。 在动态调用期间,您无需在导入绑定中指定所使用的端点。 如果使用调解流组件,那么可以使用一些调解原语来指定目标导入和动态端点地址。 例如,使用“消息元素设置器”调解原语。This topic was viewed 27 times since its publication

您可以使用 SMO 结构的
Target 和 AlternateTarget 部分覆盖端点地址或目标导入。 用于启用动态调用的 SMO 部分如下所示:
- /headers/SMOHeader/Target/address
- /headers/SMOHeader/Target/@bindingType
- /headers/SMOHeader/Target/@import
- /headers/SMOHeader/AlternateTarget/address
- /headers/SMOHeader/AlternateTarget/@bindingType
- /headers/SMOHeader/AlternateTarget/@import
address 字段包含请求的动态调用目标服务 URI。 对请求进行路由时,@bindingType 字段将提供更多关于此 URI 的详细信息。 此字段指示动态调用期间使用的绑定类型。 对请求进行路由时,@import 字段将提供用于动态调用的目标导入的名称。
在动态调用中使用的 JMS 端点是根据
JMS URI 标准构造的。 总的来说,此标准要求 JMS URI 具有以下格式:
>>-scheme--:--jms-variant--:--jms-dest--?--parameter-----------><- 对于 JMS URI,
scheme必须为jms。 jms-variant提供了有关 JMS 连接的更多信息(例如,通过使用变体 jndi)。jms-dest标识 JMS 目标对象,并且必须与jms-variant相对应。parameter是由=
分隔的键值对。唯一受支持的密钥是jndiConnectionFactoryName
。 此键的值必须是连接工厂的 JNDI 名称。 您可以选择是否使用此参数。
下面是有效的 JMS URI 的一个示例:
jms:jndi:MyTargetQueueName?jndiConnectionFactoryName=MyConnectionFactoryName
This topic only applies to BAW, and is located in the BAW repository. Last updated on 2025-01-20 10:38