WebSphere数据源中的连接被意外关闭案例

本文探讨了WebSphere环境中,由于未提交事务导致数据库连接频繁创建的问题。当使用连接池和JNDI时,WebSphere要求事务必须提交,否则连接不会返回到池中。在排查过程中,发现iBATIS文档提示需设置commitRequired属性为true来确保事务提交。解决方案是设置该属性或采用Spring的事务管理,避免自定义jdbc轮子,从而减少异常并优化数据库连接数。
摘要由CSDN通过智能技术生成

频繁创建连接的现象

前阵子维护反馈说,oracle数据库每秒创建连接数过高,而主要来源来自于WebSphere集群所在的主机。
按理说,使用连接池的应用,连接是不会很频繁的。追溯一下所在主机的程序,发现可疑对象是一个使用jdbc轮子的应用。
就是自己写了一套代码封装了jdbc操作,虽然连接是从数据源中获取的。

但是,单纯看代码,的确没发现有什么问题,该关闭的地方也关闭,不存在泄露的情况。再说,这种现象也不是泄露的表现。
另外,由于生产上的数据库连接串,开发人员是没有的,所以生成都是通过jndi的方式来处理的,不存在盗链的代码。

不过,我们还是在日志里边发现一些问题。在SystemOut的日志里边,频繁出现类似下面的异常信息:

[12-2-27 9:01:29:262 GMT+08:00] 00000038 MCWrapper     E   J2CA0081E: 
尝试对资源 ecareDB 的 ManagedConnect
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值