Websphere自由力量连接回到游泳池

时间:2017-03-21 14:58:29

标签: websphere websphere-liberty open-liberty

假设某段代码从池中获取了一个连接并且没有将它返回池中。

我想知道在自由中是否存在任何设置,如果在一些空闲时间后连接上没有识别出活动,则会强制连接回池,可能是10秒。

我正在使用自由8.5.5.9

1 个答案:

答案 0 :(得分:5)

Websphere Liberty没有任何机制会在一段时间后强制使用连接回到池中。

与此行为最接近的是"事务超时" (默认值为120s),在达到超时后将超时全局事务,并清除全局事务中的所有资源。

但是,默认情况下,WebSphere将始终在事务范围结束后清除泄漏的连接(无论是本地事务包含还是全局事务)。

例如,如果我在servlet中执行以下操作:

Connection conn = ds.getConnection();
// conn never closed!

当servlet请求结束时,连接将自动关闭并返回到连接池。

如果你在全球交易中做了类似的事情:

tx.begin();
Connection conn = ds.getConnection();
// conn never closed!
// tx never ended!

全局交易将结束,资源将被回滚。

因此,只要您没有长时间运行的服务请求,默认的清理行为就会为您提供所需的行为。如果您确实有长时间运行的服务请求,那么您可能需要考虑调整事务超时。