Java 使用者如何通知JMS队列保存消息
我的情况是,我听一个队列。如果发布了一条消息,我将使用它并将其转发到另一个应用程序 是否可能在查找应用程序时 关闭时,我可以以某种方式通知队列保留消息,以便我无法获取消息。然后当应用程序返回时,我会通知队列我可以再次处理该消息 “客户确认”模式似乎对这种情况没有帮助Java 使用者如何通知JMS队列保存消息,java,queue,jms,Java,Queue,Jms,我的情况是,我听一个队列。如果发布了一条消息,我将使用它并将其转发到另一个应用程序 是否可能在查找应用程序时 关闭时,我可以以某种方式通知队列保留消息,以便我无法获取消息。然后当应用程序返回时,我会通知队列我可以再次处理该消息 “客户确认”模式似乎对这种情况没有帮助 在此方面的帮助将不胜感激。提前谢谢 通常,您有两种可能: 停止使用这些信息。在这种情况下,消息将保留在队列中,直到您恢复处理 生成另一个队列作为反向通道,并通过此队列将停止/启动消息发送给消息的生产者。这也可以看作是背压的一种实现
在此方面的帮助将不胜感激。提前谢谢 通常,您有两种可能:
伊姆霍,1。在大多数情况下应足够。2.如果生成的消息量会导致您希望避免的大量资源(内存/磁盘)消耗,则这是必需的。您仍然可以使用这两种方法的组合,例如,如果应用程序关闭超过一段时间,您会通知制作人。通常,您有两种可能:
伊姆霍,1。在大多数情况下应足够。2.如果生成的消息量会导致您希望避免的大量资源(内存/磁盘)消耗,则这是必需的。您仍然可以使用这两种方法的组合,例如,如果应用程序关闭超过一段时间,您可以通知制作人。我可以建议以下解决方案。请注意#1、#2是“手动”,#3是“真实”。选择取决于你的需要
我可以提出以下解决方案。请注意#1、#2是“手动”,#3是“真实”。选择取决于你的需要
当应用程序关闭时关闭JMS连接,然后在应用程序启动后重新建立连接,怎么样?确保将队列中消息的超时设置为“0”,以便它们是持久的。您可以查看下面的内容来了解JMS persistence@kalyan,谢谢您的回答。它应该适合我的情况。当你的应用程序关闭时关闭JMS连接,然后在你的应用程序启动后重新建立连接怎么样?确保将队列中消息的超时设置为“0”,以便它们是持久的。您可以查看下面的内容来了解JMS persistence@kalyan,谢谢您的回答。这应该适合我的情况。谢谢你的回答。但就我的情况而言,停止监听队列是最简单的实现方法。:)谢谢你的回答。但就我的情况而言,停止监听队列是最简单的实现方法。:)