0

サンプルの指示に従っています。これは、 http : //static.springsource.org/spring-amqp/docs/1.2.x/reference/html/sample-apps.htmlStock Tradingで要求/応答メッセージングを使用する方法を概説しています。 #d4e742spring-amqp

たまたま返信メッセージを送信できるメッセージ駆動型 POJOであるクラスを見ると、ServerHandlerMessageProperties を注入できる場所がわかりません。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

jsonMessageConverterQ) おそらく、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>
4

1 に答える 1