我正在遵循Stock Trading
示例的说明,其中概述了如何使用请求/回复消息spring-amqp
:http ://static.springsource.org/spring-amqp/docs/1.2.x/reference/html/sample-apps.html #d4e742
convertSendAndReceive
我已经调整了示例说明以创建一个客户端,该客户端应该通过使用而不是等待回复convertAndSend
:https ://gist.github.com/pulkitsinghal/5774487
现在,即使将回复放在 responseQueue 上,并且我已将超时更新为rabbitTemplate.setReplyTimeout(60000);
比默认的 5 秒长……在我的客户端中,我也会收到null
回复作为回复。
有谁知道发生了什么?
更新#1
有人建议我添加一个<reply-listener/>
,<rabbit:template/>
但我不确定如何以编程方式执行此操作:
@Bean
public RabbitTemplate rabbitTemplate() {
RabbitTemplate rabbitTemplate = new RabbitTemplate(connectionFactory());
rabbitTemplate.setMessageConverter(jsonMessageConverter());
rabbitTemplate.setReplyQueue(responseQueue());
rabbitTemplate.setReplyTimeout(60000);
// following is private
//rabbitTemplate.addListener
return rabbitTemplate;
}