gpt4 book ai didi

java - 清理ActiveMQ对象

转载 作者:行者123 更新时间:2023-12-01 16:01:27 24 4
gpt4 key购买 nike

我使用 ActiveMQ 作为 Java EE 应用程序中的消息传递组件(使用 GlassFish)。我们遇到了消息传递延迟和内存泄漏的问题。为了确定问题,我开始分析该应用程序。内存分析显示 org.apache.activemq.command.ActiveMQObjectMessage 在“实时分配对象”列表中排名第二。随着应用程序运行时间的延长, Activity 字节、 Activity 对象和分配对象的数量不断增加。

您可能认为一旦消息发布并且下次运行 GC,ActiveMQObjectMessage 就应该被清除并进行垃圾收集,但事实似乎并非如此!有没有人遇到过类似的问题,或者有人可以提供任何指导吗?

最佳答案

您确定收到的消息已被确认吗?创建 session 时使用 AUTO_ACKNOWLEDGE 或在收到的消息上调用 #acknowledge() 来执行此操作。

所有未确认的消息都会保留,直到单个消息被确认为止。

关于java - 清理ActiveMQ对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3759174/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com