我在spring-jms中使用jmsTemplate.receiveAndConvert()方法。此方法返回转换后的对象(Person),但如果我使用了Client Acknowledge,那么在这种情况下如何确认消息。
任何指针都会受到赞赏。
由于
答案 0 :(得分:1)
您不能,因为您无法访问Message
。
使用receive()
;然后自己致电messageConverter.fromMessage(message)
(例如在SimpleMessageConverter
上)进行转换。
修改强>
但是你真的不应该这样做,因为会话将在receive()
返回时关闭(或者返回到缓存,在这种情况下,其他一些用户可能会收到你的消息)。
最好将jmsTemplate.execute()
与SessionCallback
一起使用,并且只有在消息被确认后才退出回调。