在 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
一起使用,并且仅在消息被确认后退出回调。
我在 spring-jms 中使用 jmsTemplate.receiveAndConvert() 方法。此方法 returns 转换后的对象(人),但如果我使用客户端确认,那么在这种情况下我如何确认消息。
任何指点将不胜感激。
谢谢
你不能,因为你无权访问 Message
。
使用receive()
;然后自己调用 messageConverter.fromMessage(message)
(例如在 SimpleMessageConverter
上)进行转换。
编辑
但是你真的不应该这样做,因为会话将在 receive()
returns 时关闭(或返回到缓存,在这种情况下其他用户可能会确认你的消息)。
最好将 jmsTemplate.execute()
与 SessionCallback
一起使用,并且仅在消息被确认后退出回调。