Java Weblogic泄漏连接超时

Java Weblogic泄漏连接超时,java,connection,weblogic,Java,Connection,Weblogic,如果使用从Weblogic数据源获得的连接进行的数据库查询调用在连接非活动超时内从未返回,则会导致连接泄漏。 例如,连接非活动超时为500秒,DB调用需要600秒才能返回 它会导致连接泄漏吗?如果查询花费的时间超过连接事务属性中定义的时间,则会发生SQLException(TransactionTimeout)并中止执行。如果您有太多这样的并发查询,可能会导致weblogic状态不好,您需要重新启动应用程序服务器(也许重新启动数据源就足够了)。在这种情况下,我设置weblogic的connect

如果使用从Weblogic数据源获得的连接进行的数据库查询调用在连接非活动超时内从未返回,则会导致连接泄漏。 例如,连接非活动超时为500秒,DB调用需要600秒才能返回


它会导致连接泄漏吗?

如果查询花费的时间超过连接事务属性中定义的时间,则会发生SQLException(TransactionTimeout)并中止执行。如果您有太多这样的并发查询,可能会导致weblogic状态不好,您需要重新启动应用程序服务器(也许重新启动数据源就足够了)。

在这种情况下,我设置weblogic的connection inactive timeout属性。假设connection transaction属性未被触及,或者可能大于inactive timeout属性(这可能是错误的做法,也可能不是),但基本上我只想了解inactive timeout属性的行为。这是否像,连接从池中释放的那一刻,它将开始计数500秒,或者它是如何计数的?文档声称:WebLogic Server在收回连接并将其释放回连接池之前,保留连接上的非活动秒数。我理解,一旦你开始一些查询,扣减就会开始,如果你的查询没有返回,执行就会中断。谢谢Leos。是的,我从文档中理解它,但这正是我不太确定的:(尝试模拟它。使用dbms_lock.sleep编写一些PL/SQL过程(不需要几秒钟)这比datasource中的inactive timeout属性要大得多。然后从ejb调用这个过程。我最近在www.literak.cz上写了一篇博客,它执行db函数,这样您就可以在那里得到启发。