スプリング統合を使用してアウトバウンドゲートウェイ用にアプリケーションによって生成された識別子を使用したAMQPカスタムメッセージの相関。アプリケーションによって生成された識別子を使用したAMQPカスタムメッセージの相関
アウトバウンドゲートウェイのメッセージとappによって生成されたIDを関連付ける必要があるという要件があります。これは、実際のメッセージ処理が外部システムで行われ、要求に対する応答が外部システムからのポストとして行われるしたがって、amqp_correlationデータに依存することはできません。
これを実行すると、偉大なステップが得られます。ソリューションウサギテンプレート
- を試み
は、いくつかの生成された値とテンプレートに設定correleationキーでヘッダ名を設定
- カスタムヘッダー名のAMQP発信ゲートウェイにheader-mapperを提供します。
結果が
ウサギのテンプレートは要求に設定された値を使用していない、しかしそれは、独自の値を生成し、カスタムヘッダーをマッピングすることができた/
なぜ、アプリケーションがcorrelationIdを生成する必要があるのか説明できますか?テンプレートは固有のものであることを確認する必要があるため、独自のテンプレートを生成し(ユーザーの値を復元します) correlationIdを使用して他の情報を受信者に伝える場合は、別のヘッダーを使用できませんか? –
メッセージの実際の処理は、別のシステムでは休息をとることによって行われます。彼らはアウトバウンドゲートウェイで待っているスレッドへの応答を提供するPOSTコールを再度実行するので、テンプレートによって生成された相関IDに依存することはできません。はい、私はメッセージを相関させるために新しいヘッダーパラメータを使用しようとしています、問題は、フィールドの値がテンプレートによって使用されていない、それは応答を相関させるのは非常に困難な独自の値を生成します。 – user1568854
"発信ゲートウェイで待機中のスレッドへの応答を提供するためのPOSTコール"、AMQPとの関係はどのようになっていますか?このような複雑な解決策のカスタム相関のために後で 'Aggregator'を使うことを考えてください。あなたの統合の流れを見て嬉しいですか? –