1
私は統合の初心者です。私にはルータがあります。特定のシナリオでは、このメソッドは例外をスローします。その例外に基づいて、私はどのように私のメッセージをルーティングすることができますか。私はその例外をキャッチしたいと思います。春の統合ルーターでの例外処理
<integration:router ref="serviceImpl" method="getName"/>
私は統合の初心者です。私にはルータがあります。特定のシナリオでは、このメソッドは例外をスローします。その例外に基づいて、私はどのように私のメッセージをルーティングすることができますか。私はその例外をキャッチしたいと思います。春の統合ルーターでの例外処理
<integration:router ref="serviceImpl" method="getName"/>
あなたは、以下のような何か試すことができます:あなたは次のようにルータと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;
}
}
最後に、両方のチャネルを定義しますgoToSomeChannel
とgoToSomethingElseChannel
をバネ統合設定ファイルに追加します。