我是整合的新手。我有一台路由器。在特定方案中,该方法抛出异常。基于该异常,我如何路由我的消息。我想捕获该异常并基于将我的消息路由到另一个例如频道。
<integration:router ref="serviceImpl" method="getName"/>
答案 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集成配置文件中定义了通道goToSomeChannel
和goToSomethingElseChannel
。