我有一個場景,問題如下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