在spring-jms中使用MessageConverter确认JmsMessage

时间:2017-01-17 15:03:48

标签: jms spring-jms

我在spring-jms中使用jmsTemplate.receiveAndConvert()方法。此方法返回转换后的对象(Person),但如果我使用了Client Acknowledge,那么在这种情况下如何确认消息。

任何指针都会受到赞赏。

由于

1 个答案:

答案 0 :(得分:1)

您不能,因为您无法访问Message

使用receive();然后自己致电messageConverter.fromMessage(message)(例如在SimpleMessageConverter上)进行转换。

修改

但是你真的不应该这样做,因为会话将在receive()返回时关闭(或者返回到缓存,在这种情况下,其他一些用户可能会收到你的消息)。

最好将jmsTemplate.execute()SessionCallback一起使用,并且只有在消息被确认后才退出回调。