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