【问题标题】:Non-persistent jms message get lost for non durable subscriber非持久订阅者的非持久 jms 消息丢失
【发布时间】:2017-02-08 05:12:36
【问题描述】:

我一天前才开始使用 ActiveMQ,所以我对它的了解有限。 我的目标是检查 JMS 消息在不同场景下的 ActiveMQ 稳定性和吞吐量。 因此,以下是一种情况。 1. 我正在向主题发布 100 万条非持久同步消息,并以非持久方式同步订阅它。一位发布者和一位订阅者。 2. 代理、发布者和订阅者在测试期间启动。

不幸的是,几乎大多数时候(只有一次我在 14 次尝试中获得了所有消息),我没有在订阅者端收到所有消息(1 百万)。近 5500 条消息丢失。

我对 tibco ems 和 ibm mq 做了同样的测试,没有遇到这个问题。

那么,对于 ActiveMQ,如果我需要接收所有消息,是否有必要始终使用持久消息和持久订阅者?

不要从保证消息传递或故障转移方案的角度进行思考。

欢迎提出任何建议。

谢谢, 史密斯

【问题讨论】:

    标签: activemq persistent


    【解决方案1】:

    不确定您的具体情况。但是当生产者比消费者快时,ActiveMQ 会通过丢弃超过一定限制的旧消息来限制用于缓冲消息的内存。

    这是configurable

    【讨论】:

    • 正确一个。我已经使用constantPendingMessageLimitStrategy = -1 管理了损失。
    猜你喜欢
    • 2020-03-05
    • 2017-11-08
    • 2012-05-30
    • 1970-01-01
    • 2018-09-22
    • 2013-12-17
    • 2015-08-24
    • 1970-01-01
    • 2016-12-30
    相关资源
    最近更新 更多