2012-03-27 2 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

+0

Это моя конфигурация коннектора JMS, и никаких других глобальных определений не существует. Udhay

ответ

0

Откат по умолчанию - эта часть конфигурации является избыточной. Далее, я не уверен, что вы видите, это переоценка, иначе обещание транзакций в Муле было бы неблагополучным. Вероятно, одна из этих двух вещей происходит:

  1. Политика предварительной выборки ActiveMQ - сообщение не сразу возвращается в очередь, попробуйте подождать некоторое время.
  2. Он может быть повторно отправлен сразу после откат слишком много раз и заканчивается в очереди с мертвой буквой (DLQ) - проверьте с помощью веб-консоли AMQ.

Эндрю

+0

Привет, Андрей, в Mug3.2.1CE есть ошибка в настройках maxRedelivery коннектора ActiveMQ, которая разбивает откаты в стратегии исключения. http: //www.mulesoft.org/jira/browse/MULE- 5943. Это исправлено в Mule3.3RC1. – Udhay

Смежные вопросы