サンプルの指示に従っています。これは、 http : //static.springsource.org/spring-amqp/docs/1.2.x/reference/html/sample-apps.htmlStock Trading
で要求/応答メッセージングを使用する方法を概説しています。 #d4e742spring-amqp
たまたま返信メッセージを送信できるメッセージ駆動型 POJOであるクラスを見ると、ServerHandler
MessageProperties を注入できる場所がわかりません。content-type
このサンプルを微調整して、単純な文字列を装った xml メッセージを返したいのですがServerHandler
、返信を RabbitMQ に投稿すると、次のようになります。
properties:
correlation_id: 9873f420-89e5-465d-aa60-ec9281ee48ae
priority: 0
delivery_mode: 2
headers:
__TypeId__: java.lang.String
content_encoding: UTF-8
content_type: application/json
payload:
"<?xml version='1.0' encoding='UTF-8'?>\n<stuff></stuff>
そして最終的に(私の推測では)これを読んでいるはずの私のクライアントは、オブジェクトがcontent_type
正しく設定されていないためにオブジェクトを解析できずapplication/json
、ユースケースが失敗したためnull
、返信として返されます。
Q) spring-amqp Request/Reply Messaging で応答の content-type を設定する方法を知っている人はいますか?
アップデート#1
jsonMessageConverter
Q) おそらく、requestQueue からメッセージを読み取るためにのみ使用され、responseQueue に返信を戻したい場合には使用されないようにする必要があるかもしれません。これは、現在の appContext.xml ファイルからの抜粋です。
<listener-container
concurrency="5"
connection-factory="connectionFactory"
message-converter="jsonMessageConverter"
xmlns="http://www.springframework.org/schema/rabbit">
<listener ref="serverHandler" method="handleMessage" queue-names="#{queue.name}" />
</listener-container>