【发布时间】:2013-11-18 16:10:37
【问题描述】:
我需要修改队列中已经存在的一些消息。
是否可以修改消息并在同一个队列上发送新的修改消息进行处理。 如果是,那么最好的方法是什么。
谢谢。
【问题讨论】:
标签: jms spring-jms
我需要修改队列中已经存在的一些消息。
是否可以修改消息并在同一个队列上发送新的修改消息进行处理。 如果是,那么最好的方法是什么。
谢谢。
【问题讨论】:
标签: jms spring-jms
简短的回答是否定的。在 JMS 中,消息一旦被发送就是不可变的。如果您发现需要修改消息,建议您创建一个带有一些选择器的消费者,该选择器与您希望更新的消息匹配,使用它们并将新修改的消息发送到另一个队列,或者如果您小心的话,发送回原始队列.
参考链接Can I modify messages on a queue?
我的意见是,如果您使用像correlationId 这样的选择器来使用消息,那么从队列中使用特定消息,然后再次使用与先前消息相同的correlationId 发布新消息。但这取决于您的要求。
【讨论】: