从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>
`
答案 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冲突
最小的胜利..
根据事务看起来配置正确。