0

例外としてスローされた場合でも非同期エラーとして処理された場合でも情報を漏らさないように、統合フローの呼び出し元に返されるすべてのエラーメッセージを調整する必要があります。 。私はすべてのメッセージハンドラでカスタムエラーチャンネルを定義しないようにしたいと思います。 私は成功せず、デフォルトのエラーチャネルに変圧器を添付しようとしている:Spring統合:すべての発信エラーメッセージを調整する方法

@Bean 
IntegrationFlow errorFlow() { 
    return IntegrationFlows.from("errorChannel") 
      .transform("{'status': 500, 'error': 'Internal Server Error'}") 
      .get(); 
} 

は、私はすべての送信エラーメッセージを変換することができ中心点はありますか?

答えて

1

あなたのロジックによれば、RESTを処理するようです - 要求/応答。したがって、リクエストポイントに返信する必要があります。これは、リクエストメッセージのヘッダreplyChannelで利用可能です。このような情報はの​​のプロパティでErrorMessageにアクセスできます。

.transform()は、ペイロードとしてMessagingExceptionが必要で、そのメッセージにはfailedMessageのヘッダーをコピーして出力メッセージを生成する必要があります。この方法で、メッセージはHTTP受信ゲートウェイ要求メッセージの返信チャネルに送信されます。

関連する問題