jms - 生产者在接收消息之前从队列中回滚/删除消息

标签 jms hornetq

生产者正在向队列发送许多消息。现在队列存储了这些消息。因此,在从消费者消费这些消息之前,如果生产者想要删除队列中他错误发送的一些消息并且他不希望接收者应该接收这些消息这个消息。我怎样才能实现这个目标。或任何其他建议,谢谢

最佳答案

您应该保持 session 处于事务状态,并在最后提交或回滚。

如果您打算提交,但现在需要回滚,那么您的应用程序存在严重的设计问题,您应该进行审查。除此之外,您的应用程序将需要一个数据库来处理接收并忽略它们,但如果您可以使用数据库来实现这一点,那么您将在以同步方式访问数据时遇到性能问题。

关于jms - 生产者在接收消息之前从队列中回滚/删除消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14230306/

相关文章:

java - JMS 队列是 Java Util 队列的实现吗? Java 包中使用 Java Util Queue 实现的类有哪些?

java - HornetQ java getMessagesAsJSON 功能

java - 设置HornetQ Embedded-Remote示例

java - 在 Spring 中嵌入 HornetQ

jboss - 使用Jboss资源适配器连接ActiveMQ时配置sendTimeout

java - 找不到 Weblogic 12.1.3 PrivilegedActions 类

jms - 用于将文本消息发布到JMS队列的工具?

Spring JMS : each DefaultMessageListenerContainer deployment takes longer than one before

jakarta-ee - HornetQ:如何重用 XAConnection 和 XASession

java - Tomcat 7 启动时无连接时 CPU 使用率较高