首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JMS,检测临时队列何时被破坏

JMS,检测临时队列何时被破坏
EN

Stack Overflow用户
提问于 2009-07-08 16:13:41
回答 2查看 1.7K关注 0票数 0

我有一个从JMS队列接收消息的“服务器”应用程序。以及客户端应用程序,它们创建临时队列,然后向服务器发送消息,将JMSReplyTo报头设置为临时队列。

服务器使用临时队列回复客户端。然而,服务器有许多回复客户端的回复,这些回复都是在很长一段时间内通过临时队列发送的(这些回复是特定于该客户端的,其他任何人都不感兴趣)。

我的服务器如何检测客户端是否断开连接,这样我就可以停止通过该特定的临时队列发送消息?或者我正在尝试用JMS做一些我不应该做的事情?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-07-08 17:13:22

那么,发送到该队列应该会失败,因为一旦客户端离开,该队列就不再存在。仅当创建临时队列的会话存在时,才应存在临时队列。

因此,我不认为在客户端离开时需要通知,这是不能通过JMS实现的,因为发送回复消息的尝试实际上表明了这一点。

票数 0
EN

Stack Overflow用户

发布于 2009-07-08 21:21:43

使用activeMQ,您可以将临时队列转换为Destination,然后询问目的地,例如

代码语言:javascript
复制
if (dest.getConsumers().size() < 1) {
  // No more consumers on this destination, so kill it.
}

或者从目的地获取DestinationStatistics,然后从getMessages()获取队列深度,如果大于n,则终止tempQ。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1099070

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档