关于访问AS/400进程作业不释放问题
我的连接字符串是这样写个DataSource ds=(DataSource)ctx.lookup("java:comp/env/jdbc/S65FC8ABNPA");
conn = ds.getConnection();
conn.setTransactionIsolation(1);
且在finally 中全部释放
finally {
if (connDb2 != null){connDb2.close();}
if (connDb2Ext != null){connDb2Ext.close();}
}
目前访问as/400时遇到如下问题请各位大大帮助解决一下:
假设我设置连接池最大数目为20,在一个页面的Action.ActionForward中各种方法若调用getConnection()超过20次就将连接池20的上限用完了,系统将报错timeout,但是这些getConnection()用完之后我一定是close()的,
1.为什么没有释放掉?
2.为什么其他方法在getConnection()时不会重复利用已释放作业进程.
3.是我的代码有问题吗?
4.MVC模式下是否可以单例维持唯一的DataSource 或Connection?
或者各位大大有什么好的办法,另外同样的代码访问DB2或者SQL Server 均没有问题,且websphere 6.1.0时好像也没有问题,升级到6.1.25出现此类问题.奇怪了.全部分数捐献
谢谢各位!
补充:企业软件 , WebSphere