2011-12-14 64 views
1

我可以发送到基于消息内容的动态URI列表。我有代码将目标的URI放置在'destination'的标题键中。可以假定返回的URI是JMS URI。如何将交易添加到收件人列表?

JMS URI中的一个例子是 “JMS:// jmsEndpoint /队列:outbound_queue连接器= 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

的DOC clearly states

您可以发送邮件使用收件人列表的路由器,这将在同一事务中发送的所有邮件多封邮件。

但是XML模式不允许您指定路由器的事务配置。我已经检查过org.mule.routing.outbound.ExpressionRecipientList的源代码,它应该支持异常。

所以我的印象是,这是缺乏XML模式。我可能是错的,但我认为值得打开一个JIRA,看看核心开发人员对这个问题的看法。

+0

谢谢,我害怕我做了一些不正确的事情。我阅读了您发送的链接以及关于[错误处理]的页面(http://www.mulesoft.org/documentation/display/MULE3USER/Error+Handling)。我强迫抛出一个异常,但是这条消息传给了DLQ,没有被回滚,我认为这意味着我没有正确设置事务。现在来熟悉默认的错误处理。 – Matt 2011-12-15 16:28:26