【问题标题】:empty jms queue when pool is almost full池快满时清空 jms 队列
【发布时间】:2016-10-07 09:56:33
【问题描述】:

我目前正在编写一个在两个应用程序之间建立连接的系统。其中一个应用程序将消息发送到 glassfish jms 队列。我还没有写接收端,我注意到队列会填满,因为队列没有监听器。

我想做的是检查队列是否几乎已满,以及何时完全清空。有没有办法做到这一点?我真的找不到任何东西。

或者是否可以确保删除旧消息以便继续发送新消息?

【问题讨论】:

    标签: jakarta-ee glassfish queue jms


    【解决方案1】:

    当然,虽然存在实际限制,但像 JMS 这样的排队系统不会“填满”。它被设计成具有“无限”的容量。显然,您无法在不占用资源的情况下发送无限数量的消息,因此存在实际限制。

    听起来您需要在消息生产者端为它产生的消息定义一个time to live。因此,例如,您可以说消息只能存在 10 秒。这样,您就不太可能收到“旧”消息。请注意,根据您的 JMS 提供商,您仍然可能会收到大约 TTL 年龄的消息,但您不太可能收到更旧的消息。

    【讨论】:

    • 我刚刚在我的消息中添加了生存时间选项。明天我将不得不对此进行测试,如果这解决了我的问题,我会告诉你,如果可以,当然接受你的 awnser
    猜你喜欢
    • 2011-06-15
    • 2021-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-02
    相关资源
    最近更新 更多