2012-03-27 73 views
0
<flow name="RollbackFlow"> 
    <jms:inbound-endpoint queue="QIN"> 
     <jms:transaction action="ALWAYS_BEGIN"/> 
    </jms:inbound-endpoint> 
    <component class="TestComponent"/> 
    <default-exception-strategy> 
     <rollback-transaction exception-pattern="*"/> 
    </default-exception-strategy> 
</flow> 

在此流程中,當Test組件拋出異常時,消息從QIN出隊。我如何修改流程以便消息不會從QIN中出列?消息在Mule中的例外出隊

+0

可能有很多原因。我需要查看針對JMS連接器的連接器配置以及圍繞錯誤策略的其他全局定義。 – robertvoliva 2012-03-27 15:09:58

+0

這是我的JMS連接器配置,不存在其他全局定義。 Udhay 2012-03-28 06:41:31

回答

0

回滾是默認行爲,這部分配置是多餘的。接下來,我不確定你看到的是什麼東西,否則在騾子交易的全部承諾都會失效。可能發生以下兩種情況之一:

  1. ActiveMQ的預取策略 - 消息不會立即放回隊列,請嘗試等待一段時間。
  2. 它在回滾次數過多後立即重新提交,並以死信隊列(DLQ)結束 - 使用AMQ Web控制檯進行檢查。

安德魯

+0

嗨安德魯有一個ActiveMQ連接器中的錯誤Mule3.2.1CE中的maxRedelivery設置,打破異常策略回滾.http://www.mulesoft.org/jira/browse/MULE- 5943。這在Mule3.3RC1中得到了解決。 – Udhay 2012-04-05 12:27:49