2017-05-24 13 views
1

私は統合の初心者です。私にはルータがあります。特定のシナリオでは、このメソッドは例外をスローします。その例外に基づいて、私はどのように私のメッセージをルーティングすることができますか。私はその例外をキャッチしたいと思います。春の統合ルーターでの例外処理

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

答えて

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; 
    } 


} 

最後に、両方のチャネルを定義しますgoToSomeChannelgoToSomethingElseChannelをバネ統合設定ファイルに追加します。

関連する問題