spring集成路由器中的异常处理

时间:2017-05-24 04:19:26

标签: java spring spring-integration

我是整合的新手。我有一台路由器。在特定方案中,该方法抛出异常。基于该异常,我如何路由我的消息。我想捕获该异常并基于将我的消息路由到另一个例如频道。

<integration:router ref="serviceImpl" method="getName"/>

1 个答案:

答案 0 :(得分:1)

您可以尝试以下内容:

首先,您按以下方式配置路由器和bean:

<integration:router ref="serviceImpl" method="getName"/>
<beans:bean class="com.test.ServiceImpl" id="serviceImpl">
</beans:bean>
</int:router>

然后您的ServiceImpl.java应该如下所示:

 public class ServiceImpl {

     public String getName(Name name) {

      String channel = "";

      try {
       //Your business validations should be here and if everything is okay, then route the message to some channel
       channel = "goToSomeChannel"
      } catch (SomeException e) {
       //You got the exception, So route to different channel
       channel = "goToSomethingElseChannel";
      }

      return channel;
     }


}

最后,您在spring集成配置文件中定义了通道goToSomeChannelgoToSomethingElseChannel