首页 文章

单线程应用程序中的错误处理

提问于
浏览
0

在单线程Spring Integration中,整个pipleine在同一事务中运行的应用程序,错误通道不适用 . 相反,异常将被抛回调用者 .

我这样做的方法是定义一个服务激活器,它是处理传入消息的组件链中的第一个 .

@ServiceActivator
public Message handleException(Message message) {
   try {
      return message;
   }
   catch (Throwable throwable){
      // HANDLE ERROR
   }
   return null;
}

这是正确的方法,还是有更好的策略?

谢谢

1 回答

  • 1

    没有;赢得't do anything at all; it will simply pass the message to the next element in the chain. If you don'需要以任何方式处理错误,并且只是希望它被抛回调用者,你需要什么都不做 . 如果流的开始是网关,则网关将从 MessagingException 解包原因 .

    当然,您可以在网关上放置一个错误通道并在那里处理它 .

    在提出这些一般性问题时,通常最好提供有关您的流程(入口点等)的更多详细信息 .

相关问题