【发布时间】:2016-01-11 09:34:30
【问题描述】:
我检查了几个之前的讨论,但找不到答案。
我正在尝试使用 JMS 反向通道 (http://www.whishworks.com/blog/synchronous-communication-using-jms-back-channel) 实现同步通信。除了该站点中提到的内容之外,我还需要根据动态 Id 从入站队列中过滤掉消息。
以下是我的骡子流程:
<flow name="serverFlow" >
<jms:inbound-endpoint doc:name="REQUEST" queue="REQUEST.QUEUE" connector-ref="jmsConnector">
<jms:selector expression="MULE_CORRELATION_ID='#[sessionVars.myCorrelationId]'"/>
</jms:inbound-endpoint>
<set-payload value="#[payload] + Hello World from Receiver" doc:name="Set Payload" />
<jms:outbound-endpoint doc:name="REPLY" queue="REPLY.QUEUE" connector-ref="jmsConnector" />
</flow>
<flow name="mainFlow" >
<http:listener config-ref="HTTP_Listener_Configuration" path="/jms" allowedMethods="GET" doc:name="HTTP"/>
<set-session-variable variableName="myCorrelationId" value="#[System.currentTimeMillis().toString()]" doc:name="Set Correlation ID"/>
<set-payload value="New message sent from Mule - mainFlow at #[new Date()]" doc:name="Set Message"/>
<set-property propertyName="MULE_CORRELATION_ID" value="#[sessionVars.myCorrelationId]" doc:name="Property"/>
<request-reply doc:name="Request-Reply">
<jms:outbound-endpoint doc:name="REQUEST" connector-ref="jmsConnector" queue="REQUEST.QUEUE"/>
<jms:inbound-endpoint doc:name="REPLY" connector-ref="jmsConnector" queue="REPLY.QUEUE"/>
</request-reply>
<logger message="Reply to sender: #[message]" level="WARN" doc:name="Logger" />
</flow>
如果我尝试像“
能否请您帮助如何让 MEL 在 JMS 选择器中工作?
非常感谢。
【问题讨论】:
-
我可以使用提供的 XML 复制问题。似乎是错误,因为我们能够在记录器中打印值并且它仅在 JMS 选择器中不起作用(正如您所说的那样使用静态值)。我尝试使用
但没有运气。
标签: mule mule-component mule-el anypoint-studio