【问题标题】:weblogic11g datasource not releasing the connections to the poolweblogic11g 数据源未释放与池的连接
【发布时间】:2016-08-29 03:19:53
【问题描述】:

我们开发了一个具有以下规格的 Java 应用程序。

框架:spring、hibernate
数据库:oracle
服务器:weblogic 11g

这里的问题是当我们使用 Weblogic 数据源时,连接没有释放到池中,这导致数据库服务器在某些事务后完全消耗 RAM。但是当我们在应用程序中使用基本数据源时,连接会在每次事务后立即释放,并且在数据库服务器端没有 RAM 消耗。如何使用基于容器的数据源?

【问题讨论】:

    标签: spring oracle hibernate weblogic


    【解决方案1】:

    这取决于您在为 weblogic 配置数据源时选择的参数。请检查以下 1)不要启用“固定到线程”属性 2) 启用“非活动连接超时”到适当的值。您的应用程序可能已泄漏连接

    【讨论】:

    • 谢谢耆那教。正如您所说,我们已经将 Inactive connection time out 设置为 10 并且 Pinned to Thread 已禁用。但是数据库服务器中的 RAM 仍在消耗,并且存在非活动连接。但是正如您所说,如果应用程序中存在泄漏连接,那么基本数据源也必须发生同样的问题。但它不是那样发生的,内存和连接是用 apache basic DS 正确释放的。我们在应用程序中所做的唯一更改是从 weblogic DS 更改为 apache DS(这工作正常,没有问题)。如果 weblogic 中遗漏了一些配置,请帮助我们
    • 其实我需要详细了解。例如数据库服务器上的 RAM 消耗应保持不变。问题是否与数据库中 SGA/PGA 的高消耗有关?您如何计算高 RAM 消耗。数据库中总会有一些连接。检查数据库中会话的状态。由于“最小连接”属性,Weblogic 将始终保持一些连接打开。此外,weblogic 将始终保持轮询数据库。但是,这些不能成为高内存的原因。内存消耗高时需要分析所有 db session
    猜你喜欢
    • 2015-03-26
    • 2014-08-06
    • 1970-01-01
    • 2015-08-06
    • 2013-05-01
    • 2016-10-24
    • 2012-04-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多