gpt4 book ai didi

java - 从 JNDI 连接池检索的数据库连接设置

转载 作者:搜寻专家 更新时间:2023-11-01 03:13:01 24 4
gpt4 key购买 nike

我在 Websphere 服务器上托管了一个数据源,我想通过我的应用程序客户端使用该数据源。

从 JNDI 数据源检索数据库连接后,我将连接的提交设置更改为 false。之后,我将使用这个连接,并在完成任务后关闭连接。

如果我忘记在关闭前更改连接的提交设置会发生什么(我的意思是将连接返回到池中)。如果任何其他客户端访问此数据源并且他们获得相同的连接,提交设置是否仍然存在,或者服务器是否会重置这些连接设置。

最佳答案

通常,连接池中的连接被一个特定于 AS 的实现所包裹,这会处理客户端过于侵入的问题。当在连接上调用特定方法时,它被认为是“脏的”,并且可能不会返回到池中,而是关闭并重新创建,或者如果可能的话重置为原始状态。通常有关于如何处理这些情况的设置,例如在 Weblogic 中删除受感染的连接

不过,这些 self 清洁的效果也可能取决于驱动程序。因此,我建议您使用 1 个连接池进行简单测试。将连接设置为 autocommit=false,不要关闭它,退出并尝试从另一个客户端使用它,并通过测试检查自动提交属性的实际状态。

要考虑的另一件事是 AS 包装器中的 Connection.close() 不会关闭连接,而是将其放入池中。因此,如果您的客户端在调用 close() 之前断开连接(并在此之前重新设置自动提交),则连接可能对其他池客户端不可用,从而造成连接泄漏。

关于java - 从 JNDI 连接池检索的数据库连接设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5473015/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com