我正在按照Stock Trading
示例的说明进行操作,其中概述了如何使用请求/回复消息spring-amqp
:http ://static.springsource.org/spring-amqp/docs/1.2.x/reference/html/sample-apps.html #d4e742
查看ServerHandler
作为消息驱动的 POJO 的类,它恰好也能够发送回复消息......我没有看到可以注入 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 请求/回复消息中设置回复的内容类型?
更新#1
问)也许我需要确保它jsonMessageConverter
仅用于从 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>