发送后如何修改队列中的消息

时间:2013-11-09 19:01:34

标签: jms spring-jms

我需要修改队列中已经存在的一些消息。

是否可以修改消息并在同一队列上发送新修改的消息以进行处理。 如果是,那么最佳方法是什么。

感谢。

1 个答案:

答案 0 :(得分:2)

简短的回答是否定的。在JMS中,消息一旦发送就是不可变的。如果您发现需要修改消息,建议您创建一个使用某个选择器的消费者,该消费者匹配您要更新的消息,使用它们并将新修改的消息发送到另一个队列,或者如果您小心,请回到原始队列

参考链接Can I modify messages on a queue?

我的意见是,如果您使用selectorId之类的选择器使用该消息,则使用队列中的特定消息并再次使用上一条消息的相同correlationId发布新消息。但这将取决于您的要求。