私は、JMSを使用しようとしています:パブリッシュ・サブスクライブチャンネルパブ/サブに単一ActiveMQのトピックに。チャンネルのActiveMQからメッセージを受信することはできますが、チャンネルに公開すると、メッセージ本文はヌルです(ActiveMQトピックでリスニングしている別のアプリケーションで受信した場合)。私はspring-integration-samples-> basic-> jmsを使用して問題を再現することができました。 jms:outbound-channel-adapterの代わりにjms:publish-subscribe-channelを使用するようにoutboundChannelAdapter.xmlを変更しました。単純な文字列メッセージを発行するために必要なステップがもう1つありますか?ここで私のコードをoutboundChannelAdapter.xmlに変更しました:JMSメッセージ本文がnullである:パブリッシュ・サブスクライブチャンネル
<stream:stdin-channel-adapter id="stdin" channel="stdinToJmsoutChannel"/>
<jms:publish-subscribe-channel id="stdinToJmsoutChannel" topic="requestTopic" />
<stream:stdout-channel-adapter id="stdout" channel="stdinToJmsoutChannel" append-newline="true"/>
返信いただきありがとうございます。シリアライズされたオブジェクトではなく文字列としてメッセージを送信することは可能ですか? –
JMSバックチャネルではない - チャネルアダプタのペアを使用します。メッセージペイロードはJMSメッセージ本文になります。ヘッダはJMSヘッダーにマップされます( 'extract-payload'がtrueの場合 - デフォルト)。 JMSでバックアップされたチャネルは永続性を目的としており、他のアプリケーションにデータを配信するためのものではありません。 –
それを得ました。同じトピックでpub/subを使用しているので、チャネルアダプタのペアを使用したときに送信した同じメッセージを受信しないようにするにはどうすればよいですか? –