2015-01-17 2 views
3

Можно ли исключить наше собственное исключение из catch-exception-strategy или любые другие стратегии исключения.Выбросить индивидуальное исключение из стратегии catch-exception

Я попытался, как показано ниже:

<catch-exception-strategy doc:name="Catch Exception Strategy"> 
    <scripting:component doc:name="throw-custom-exception"> 
    <scripting:script engine="Groovy"> 
     <![CDATA[throw new org.mycompany.mule.CustomException()]]> 
    </scripting:script> 
    </scripting:component> 
</catch-exception-strategy> 

, но в итоге с ошибкой:

org.mule.exception.CatchMessagingExceptionStrategy: Failed to dispatch message to error queue after it failed to process

Может кто-нибудь решить эту проблему? Заранее спасибо.

ответ

1

Попробуйте поставить

<scripting:component doc:name="throw-custom-exception"> 
    <scripting:script engine="Groovy"> 
     <![CDATA[throw new org.mycompany.mule.CustomException()]]> 
    </scripting:script> 
    </scripting:component> 

вне catch-exception-strategy и попробовать ...

+2

Я знаю, он отлично работает, если я ставлю компонент был за пределами 'поймать-исключений strategy'. Я действительно нуждаюсь в том, чтобы поймать исключение внутри 'catch-exception-strategy', мне просто нужно обернуть причину и перебросить мое собственное исключение. Является ли это возможным? –

+0

Действительно, это кажется невозможным. Я не думаю, что это решение для этого вопроса. –

+0

Этот ответ не распространяется на повторное бросание исключения. – Yuri

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