Jms mule不工作时的回滚策略

Jms mule不工作时的回滚策略,jms,activemq,mule,rollback,Jms,Activemq,Mule,Rollback,在Mule中,我尝试构建一个流来读取来自活动MQ的消息并将其发送到DB。所以在我的流程中,我有一个JMS入站端点,后面是Java组件,在这里我建立JDBC连接。现在我的问题是,我想实现一个回滚,如果后端有任何连接问题,它将尝试将消息回滚到Q。 这似乎确实起了作用,但只是部分起了作用。因此,当java组件出现异常时,我看到消息正在回滚。但即使在达到最大的重新交付尝试之后,我也没有看到第节下的块被执行。 在这种情况下,我应该使用什么类型的事务 请建议如何解决此问题 ` `它应该可以正常工作,就好

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

请建议如何解决此问题

`



`

它应该可以正常工作,就好像这不起作用一样,你可以使用它直到成功


连接器定义中的maxRedelivery属性与回滚策略的MaxRedeliveryTests冲突

最小的获胜


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

jms连接器的配置是什么?您的com.test.JDBCComponent组件是否加入了已启动的事务af jms入站?
    <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>
<jms:activemq-connector name="Active_MQ"
brokerURL="tcp://localhost:61616" maxRedelivery="5" />