当有多个 jms 或 wmq 连接器时使用 mulerequester
Using mulerequester when there are more than one jms or wmq connector
这是 的延续,但问题不同。我正在使用 mulerequester 读取队列,如下所示。
<mulerequester:request config-ref="Mule_Requester" resource="wmq://REPLY.QUEUE?selector=JMSCorrelationID%3D'#[sessionVars.myCorrelationId]'" doc:name="Mule Requester" timeout="120000"/>
如果我有一个 wmqConnector 但我的 mule 项目中有 2 个 wmq 连接器(wmqconnector 和 wmqconnector1),它会工作,指向不同的服务器。在运行期间,当 mulerequester 解析 "resource" 中给出的 URL 时,它遇到 2 个匹配 wmq 协议的连接器,我收到以下错误消息 "There are at least 2 connectors matching protocol "wmq",因此要使用的连接器必须使用 'connector' property/attribute 在端点上指定。您的配置中支持 "wmq" 的连接器是:wmqConnector1、wmqConnector、(java.lang.IllegalStateException)”。我不确定如何告诉 mulerequester 使用哪个 wmqConnector。
我参考了 mulerequester 的 mule 文档,但找不到任何解决方案。有什么建议吗?
像这样将连接器作为 uri 参数传递:
<mulerequester:request config-ref="Mule_Requester" resource="jms://input?connector=AMQConnector1" doc:name="Request a message from a queue" />
这是我根据 Ryan 的建议修改的 mulerequester。它使用连接器和选择器作为 Uri 参数。
<mulerequester:request config-ref="Mule_Requester" resource="wmq://REPLY.QUEUE?connector=wmqConnector&selector=JMSCorrelationID%3D'#[sessionVars.myCorrelationId]'" doc:name="Mule Requester" timeout="120000"/>
这是
<mulerequester:request config-ref="Mule_Requester" resource="wmq://REPLY.QUEUE?selector=JMSCorrelationID%3D'#[sessionVars.myCorrelationId]'" doc:name="Mule Requester" timeout="120000"/>
如果我有一个 wmqConnector 但我的 mule 项目中有 2 个 wmq 连接器(wmqconnector 和 wmqconnector1),它会工作,指向不同的服务器。在运行期间,当 mulerequester 解析 "resource" 中给出的 URL 时,它遇到 2 个匹配 wmq 协议的连接器,我收到以下错误消息 "There are at least 2 connectors matching protocol "wmq",因此要使用的连接器必须使用 'connector' property/attribute 在端点上指定。您的配置中支持 "wmq" 的连接器是:wmqConnector1、wmqConnector、(java.lang.IllegalStateException)”。我不确定如何告诉 mulerequester 使用哪个 wmqConnector。
我参考了 mulerequester 的 mule 文档,但找不到任何解决方案。有什么建议吗?
像这样将连接器作为 uri 参数传递:
<mulerequester:request config-ref="Mule_Requester" resource="jms://input?connector=AMQConnector1" doc:name="Request a message from a queue" />
这是我根据 Ryan 的建议修改的 mulerequester。它使用连接器和选择器作为 Uri 参数。
<mulerequester:request config-ref="Mule_Requester" resource="wmq://REPLY.QUEUE?connector=wmqConnector&selector=JMSCorrelationID%3D'#[sessionVars.myCorrelationId]'" doc:name="Mule Requester" timeout="120000"/>