我有一个场景,问题如下Java JDBC连接和Oracle
应用程序服务器有两个到DB的连接池。 A
和B
A
点 - >DatabaseA
- >已128 connections
A
已经存储了访问表驻留在DatabaseB
在DB link
B
点用程序 - >DatabaseB
- >具有36 connections
现在让我们说通过使用连接poo,Java代码调用DatabaseA
中的Stored Proc l A
。该存储过程是从DatabaseB
问题获取数据在DB链接:
基于这种方案如果我们在前端connection closed
错误。是否可行的说,尽管java正在从池A(128)调用SP(在DatabaseA
中),但由于SP正在从DatabaseB
中提取数据,它的连接数量较少(36)。
基本上我想知道什么时候数据通过数据库链接,像这样...是否从分配给池B pointint的36个连接带到DatabaseB?
精确异常 精确例外,我得到的是:--- Cause: java.sql.SQLException: Closed Connection
一些堆栈跟踪:
产生的原因:java.sql.SQLException中:在 com.ibatis.sqlmap 关闭连接。 engine.mapping.statement.GeneralStatement.executeQueryWithCallback(GeneralStatement.java:185) at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryForList(GeneralStateme nt.java:123) 在 com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:614) 在 com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java: 588) 在 com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForList(SqlMapSessionImpl.java:118) 在 org.springframework.orm.ibatis.SqlMapClientTemplate $ 3.doInSqlMapClient(SqlMapClientTemplate.java:268) 在 org.springframework.orm.ibatis.SqlMapClientTemplate.execute(SqlMapClientTemplate.java:193) at org.springframework.orm.ibatis.SqlMapClientTemplate.executeWithListResult(SqlMapClientTemplate.java :219) 在 org.springframework.orm.ibatis.SqlMapClientTemplate.queryForList(SqlMapClientTemplate.java:266)
而且,我使用iBatis的...所以没有try..catch..finally
块
它不应该。请更新您的问题以包含确切的异常和数据源配置。 – BalusC 2010-06-04 22:56:06