骡子的回滚策略不起作用

时间:2014-01-03 14:02:42

标签: jms activemq mule rollback

从Mule,我正在尝试构建一个流来读取来自活动MQ的消息并将其发送到DB。所以在我的流程中,我有一个JMS入站端点,然后是Java组件,我在那里建立JDBC连接。现在我的问题是,我想实现一个回滚,如果有任何连接问题,我将尝试将消息回滚到Q.后端。 这确实有效,但部分有效。因此,当java组件出现异常时,我看到消息正在回滚。但即使在达到最大重新传递尝试后,我也看不到下面的块被执行。 在这种情况下,我应该使用什么类型的交易。?

请建议如何解决此问题。

`

    <jms:inbound-endpoint queue="TestQ"
        connector-ref="ActiveMQ" doc:name="JMS" >
          <ee:multi-transaction action="ALWAYS_BEGIN"></ee:multi-transaction>  
        </jms:inbound-endpoint>

    <component class="com.test.JDBCComponent" doc:name="Java"/>

    <rollback-exception-strategy
        maxRedeliveryAttempts="3" doc:name="Rollback Exception Strategy">

        <on-redelivery-attempts-exceeded
            doc:name="Redelivery exhausted">
            <logger message="EXHAUSTER REDILVERY" level="INFO" doc:name="Logger" />
        </on-redelivery-attempts-exceeded>
    </rollback-exception-strategy>
</flow>

`

2 个答案:

答案 0 :(得分:0)

它应该工作aditya,好像这不起作用你可以使用直到成功的范围。

https://docs.mulesoft.com/mule-user-guide/v/3.5/until-successful-scope

答案 1 :(得分:0)

git config credential.helper store
连接器定义中的

maxRedelivery属性与回滚策略的maxRedeliveryAttempts冲突

最小的胜利..

根据事务看起来配置正确。