如何将交易添加到收件人列表?

时间:2011-12-14 22:59:58

标签: transactions esb mule

我能够根据消息的内容发送到动态URI列表。我有代码将目标的URI放在'目标的标题键中。可以假设返回的URI是JMS URI。

JMS URI的示例是“jms:// jmsEndpoint / queue:outbound_queue?connector = jmsConnector”

如何将交易添加到收件人列表?

<flow name="Flow_Name">
    <jms:inbound-endpoint queue="inbound_queue">
        <jms:transaction action="ALWAYS_BEGIN" />
    </jms:inbound-endpoint>

    <!-- Code that adds a list of URI's to the header key of 'destination' -->

    <recipient-list expression="destination" evaluator="header" />
</flow>

1 个答案:

答案 0 :(得分:1)

文档clearly states

  

您可以使用收件人列表路由器发送多条消息,该路由器将在同一事务中发送所有消息。

但XML架构不允许您为路由器指定事务配置。我检查了org.mule.routing.outbound.ExpressionRecipientList的源代码,它应该支持异常。

所以我的印象是这是XML架构的缺失。我可能错了,但我认为值得开JIRA并看看核心开发人员对这个问题的看法。