【发布时间】:2014-04-21 01:26:47
【问题描述】:
我有一个 Mule 子流,其中可能有两个出站 JMS 队列。当我使用 MEL 根据标头值进行选择时,我的消息最终会出现在一个队列中,就好像 MEL 甚至没有执行一样:
<sub-flow name="enqueueFlow">
<!--logger message="Message inbound #[message.inboundProperties['myheader']]" doc:name="Test Flow logging" level="INFO"/-->
<choice doc:name="QueueChoice">
<when expression="#[message.inboundProperties['myheader'] != null and message.inboundProperties['myheader'] == 'urgent']">
<set-variable variableName="queueName" value="${urgentQueueName}" doc:name="queueName"/>
</when>
<otherwise>
<set-variable variableName="queueName" value="${lowPriorityQueueName}" doc:name="queueName"/>
</otherwise>
</choice>
<!--logger message="Deposit message into queue named #[variable:queueName]" doc:name="Test Flow logging" level="INFO"/-->
<jms:outbound-endpoint queue="#[variable:queueName]"
connector-ref="EnqueueJmsConnector">
</jms:outbound-endpoint>
</sub-flow>
【问题讨论】: