2015-10-21 15 views
1

這是從How to use Mule Expression in JMS:selector開始的延續,但是是另一個問題。我正在使用mulerequester來讀取隊列,如下所示。當有多個jms或wmq連接器時使用mulerequester

<mulerequester:request config-ref="Mule_Requester" resource="wmq://REPLY.QUEUE?selector=JMSCorrelationID%3D'#[sessionVars.myCorrelationId]'" doc:name="Mule Requester" timeout="120000"/> 

它的工作原理,如果我有一個wmqConnector,但我有我的騾子項目2個WMQ連接器(wmqconnector和wmqconnector1),指向不同的服務器。在運行時,當mulerequester解析「資源」中給出的URL時,它遇到2個匹配wmq協議的連接器,並且出現以下錯誤消息「至少有2個連接器匹配協議wmq」,因此要使用的連接器必須是使用'connector'屬性/屬性在端點上指定。支持「wmq」的配置中的連接器爲:wmqConnector1,wmqConnector,(java.lang.IllegalStateException)「。我不知道如何告訴mulerequester使用哪個wmqConnector。

我提到mulerequester的mule文檔,但無法找到任何解決方案。有什麼建議麼?

回答

2

傳遞連接器爲URI帕拉姆這樣:

<mulerequester:request config-ref="Mule_Requester" resource="jms://input?connector=AMQConnector1" doc:name="Request a message from a queue" /> 
+0

它工作。謝謝。 – Joe

0

這裏是我的修改mulerequester按照瑞安的建議。它使用連接器和選擇器作爲Uri params。

<mulerequester:request config-ref="Mule_Requester" resource="wmq://REPLY.QUEUE?connector=wmqConnector&amp;selector=JMSCorrelationID%3D'#[sessionVars.myCorrelationId]'" doc:name="Mule Requester" timeout="120000"/>