ACTIVEMQ遇到隔一段时间需要重启生产服务

发布于 2021-11-15 03:13:48 字数 356 浏览 732 评论 2

@李丹 你好,想跟你请教个问题:

在你写的activemq遇到无法解决问题中,说您没有代理producer方法,您是怎么跟踪到的呢,一定要到JVM堆栈都满了才能发现了,现在我的ACTIVEMQ中平均2个月要重启发送端,请帮忙看一下是否发送端也有问题?谢谢

目前跟踪堆栈信息如下:

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

情绪失控 2021-11-20 06:47:36

所以问题就归结为,代理类每次都创建新的producer,但是没有适时的告诉服务端释放这些信息导致的,鉴于代理类是可重用而且线程独占的,那么重新代理createproducer方法,将producer对象也缓存起来重用就好了

狼亦尘 2021-11-20 06:26:34

先是查看服务器端的堆信息,发现大量的producer相关类占用了堆空间,但是不用自己写的代理又没有这个问题。但是作为一个对象池其实主要是代理close方法以便资源回收。对比原生session类的和代理类的close方法就会发现,原生类在这个方法中给服务器发送了一条消息表示当前session已经关闭,消息中包含了由当前session创建的producer consumer等对象的信息,而代理类只是简单的将session归还到池中,

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文