2016-12-05 9 views
0

私はRabbitMQバインダーでSpring Cloud Streamを使用しています。私はSpring Cloud Streamを使用しない外部サービスを呼び出す必要があります。このサービスでは、typecorrelation_idのメッセージプロパティが使用されています。発信メッセージにAMQPメッセージプロパティを設定することはできますか?

発信メッセージにヘッダーを設定しようとしましたが、技術的にはヘッダーであるにもかかわらず、特別な方法で処理されます。したがって、typeヘッダーを設定してもプロパティは設定されません。

私はインターセプタについて認識しており、Spring RabbitMqだけを使用しても問題はありません。しかし、Spring Cloud Streamは抽象度が高いため、バインダー固有の設定はすべて非表示になっています。

発信ストリームメッセージにRabbitMQプロパティを設定する可能性はありますか?

答えて

1

プロパティは、AmqpHeadersの定数でキーされたメッセージヘッダーからマップされます。この場合、AmqpHeaders.TYPEamqp_type)とAmqpHeaders.CORRELATION_IDamqp_correlationId)です。

すべての「不明な」メッセージヘッダーは、ウサギのヘッダーとしてマップされます。

+0

ダブルチェック...タイプは正常に動作しますが、相関IDが欠落しているようです。 '.setHeader(AmqpHeaders.CORRELATION_ID、correlationId) 'メッセージを作成しています。 – waste

+0

コメントをフォローアップしてください:相関関係IDはライブラリ内部で使用されているため、独自に使用することはできません。 – waste

+0

もし 'RabbitTemplate'を意味するなら - 相関関係のために別のヘッダーを使うようフレームワークに指示する' correlationKey'プロパティーを参照してください - もちろん、受信側もそれを知る必要があります。 –

関連する問題