jms异常导致Glassfish数据库连接泄漏

发布于 2024-11-19 05:03:21 字数 259 浏览 2 评论 0原文

我正在使用 Glassfish v2.1.1、MySQL 5.1 和 ActiveMQ 5.4.2(包括)。它的资源适配器。 如果 ActiveMQ 资源适配器在参与包含数据库和 jms 事务的 XATransaction 时引发异常 那么 glassfish 将包含一个处于回滚状态的事务,该事务不会释放其与数据库连接池的数据库连接。 这些事务将堆积起来并最终使数据库连接池饱和。

这里会发生什么以及如何防止这些事务在挂在数据库连接上的回滚状态中停滞?

最好的问候尝试

I'm using Glassfish v2.1.1, MySQL 5.1 and ActiveMQ 5.4.2 incl. its resource adapter.
If the ActiveMQ resource adapter throws an exception when participating in a XATransaction including both a database and jms transaction
then glassfish will contain a transaction in rollback state which doesn't release its database connection to the database connection pool.
These transactions will pile up and eventually saturate the database connection pool.

What happens here and how can I prevent these transactions to stall in the rollback state hanging on to the database connections?

Best regards Trym

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

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

发布评论

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

评论(1

她比我温柔 2024-11-26 05:03:21

Glassfish 在管理控制台面板中提供与任何 连接器连接池,“泄漏回收”,它将在一定的超时后回收泄漏的连接(也在此连接器属性中定义)...并在每次连接时输出堆栈跟踪被泄露了。

您还可以看看我问的同样的问题 JMS 连接池问题

Glassfish provides, in the admin console panel reated to any connector connection pool, "leak reclaim" which will reclaim leaked connection after a certain timeout (also defined in this connector properties) ... and output a stack trace each time a connection has been leaked.

You can also take a look at that question I asked about the very same JMS connection pool issue.

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