在 spring-jms 中使用 MessageConverter 确认 JmsMessage

Acknowledge the JmsMessage with MessageConverter in spring-jms

我在 spring-jms 中使用 jmsTemplate.receiveAndConvert() 方法。此方法 returns 转换后的对象(人),但如果我使用客户端确认,那么在这种情况下我如何确认消息。

任何指点将不胜感激。

谢谢

你不能,因为你无权访问 Message

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

编辑

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

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