我在websphere服务器上托管了一个数据源,我希望通过我的应用程序客户端使用该数据源.从JNDI数据源检索数据库连接后,我将连接的提交设置更改为false.之后,我将使用这些连接,我将在任务完成后关闭连接.我怀疑如果我忘...

我在websphere服务器上托管了一个数据源,我希望通过我的应用程序客户端使用该数据源.
从JNDI数据源检索数据库连接后,我将连接的提交设置更改为false.之后,我将使用这些连接,我将在任务完成后关闭连接.
我怀疑如果我忘记在关闭之前更改连接的提交设置(我的意思是返回到池的连接)它会发生什么.如果任何其他客户端访问此数据源并且他/她获得相同的连接,则提交设置仍然存在,或者服务器将重置这些连接设置.
问候,
艳阳天.
解决方法:
通常,池中的连接使用特定于AS的实现进行包装,这会实现客户端过于干扰.在连接上调用特定方法时,它被视为“脏”,并且可能不会返回到池,而是关闭并重新创建,或者如果可能,重置为原始状态.通常有关于如何处理这些情况的设置,例如:在Weblogic中删除受感染的连接.
这些自我清洁的效果虽然也取决于司机.因此,我建议您使用1连接池进行简单测试.设置与autocommit = false的连接,不要关闭它,退出并尝试从另一个客户端使用它,并通过测试检查autocommit属性的实际状态.
另一件需要考虑的事情是,AS包装器中的Connection.close()不会关闭连接,而是将其放入池中.因此,如果客户端在调用close()之前断开连接(并在此之前设置自动提交),则连接可能无法用于其他池客户端,从而导致连接泄漏.
本文标题为:java – 从JNDI连接池检索的数据库连接设置


基础教程推荐
- 关于Guava缓存详解及使用说明 2023-06-24
- spring boot教程之产生的背景及其优势 2023-04-23
- Java中双大括号初始化的理解与使用 2023-01-18
- Java实现世界上最快的排序算法Timsort的示例代码 2023-02-10
- java实体类转成map的实现 2023-01-23
- java Stream流常见操作方法(反射,类加载器,类加载,反射) 2023-02-10
- 解析HikariCP一百行代码轻松掌握多线程 2023-06-01
- Spring Boot详解五种实现跨域的方式 2022-12-02
- 字符编码的处理和BeanUtils组件使用详解 2023-06-05
- Java类加载器ClassLoader源码层面分析讲解 2023-06-01