關於spring事務管理不關閉connection問題!多謝。
專案使用hibernate 2.0,spring 1.2.8,struts
問題在於連線很快就被佔滿,懷疑PSRING沒有管理連線,仔細檢視LOG發現,會有些warn提示unclosed session.在網上查了些資料,資料顯示若在DAO中使用getHibernateTemplate().*時,spring會自動管理session(包括connection),而強制使用getSession()時時spring是不管理session的。而專案中大量使用這種程式碼,如下:
Session session = this.getSession();
// 拼裝hql
String queryStr = "from DyDutyGroup dyDutyGroup where dyDutyGroup.isChange="
+ Constants.GROUP_IS_NOT_CHANGE
+ " AND PID IS NOT NULL and pid in "
+ "(select dyUser.dutyGroupId from DyUser dyUser where dyUser.userId = '"
+ userId + "'" + "and dyUser.isManager = 1" + ")";
Query query = session.createQuery(queryStr);
// 當前頁透過每頁數*當前頁數取得要取記錄的行數
query.setFirstResult(pageSize.intValue() * curPage.intValue());
// 取pageSize條
query.setMaxResults(pageSize.intValue());
java.util.List result = query.list();
其中這行Session session = this.getSession();正如資料顯示,spring是不進行session管理的。資料顯示需要手動關閉。
finally {
this.closeSessionIfNecessary(session);
}
這時,我做了試驗,在使用getSession()方法中新增closeSessionIfNecessary(session)關閉session方法。有此方法會關閉,而有些又是報錯,提示session is colsed。鬱悶至極。
問題在於連線很快就被佔滿,懷疑PSRING沒有管理連線,仔細檢視LOG發現,會有些warn提示unclosed session.在網上查了些資料,資料顯示若在DAO中使用getHibernateTemplate().*時,spring會自動管理session(包括connection),而強制使用getSession()時時spring是不管理session的。而專案中大量使用這種程式碼,如下:
Session session = this.getSession();
// 拼裝hql
String queryStr = "from DyDutyGroup dyDutyGroup where dyDutyGroup.isChange="
+ Constants.GROUP_IS_NOT_CHANGE
+ " AND PID IS NOT NULL and pid in "
+ "(select dyUser.dutyGroupId from DyUser dyUser where dyUser.userId = '"
+ userId + "'" + "and dyUser.isManager = 1" + ")";
Query query = session.createQuery(queryStr);
// 當前頁透過每頁數*當前頁數取得要取記錄的行數
query.setFirstResult(pageSize.intValue() * curPage.intValue());
// 取pageSize條
query.setMaxResults(pageSize.intValue());
java.util.List result = query.list();
其中這行Session session = this.getSession();正如資料顯示,spring是不進行session管理的。資料顯示需要手動關閉。
finally {
this.closeSessionIfNecessary(session);
}
這時,我做了試驗,在使用getSession()方法中新增closeSessionIfNecessary(session)關閉session方法。有此方法會關閉,而有些又是報錯,提示session is colsed。鬱悶至極。
相關文章
- 關於Spring事務回滾的問題Spring
- 關於SPRING的事務管理_求助Spring
- 關於spring框架中的事務問題(急)Spring框架
- 關於SimpleJdonFrameworkTest的問題,謝謝!Framework
- 請教一個關於spring事務的問題 ?Spring
- 關於petstore的執行問題,謝謝~
- 關於日誌事務的問題
- MySQL關於事務常見的問題MySql
- 提個小問題--關於jdbc事務JDBC
- 關於jetty連線關閉問題Jetty
- 關於mysql和jsp的中文問題~謝謝MySqlJS
- 關於jsp拒絕訪問的問題,謝謝大家JS
- spring宣告式事務無法關閉sessionSpringSession
- 請教彭老師關於jdbc的問題,謝謝!JDBC
- 關於jive的幾個小問題,請高手指點,多謝先。
- 關於Spring Aop和事務記錄Spring
- 求助!關於執行緒的問題?各位大俠謝謝了!!!執行緒
- 關於Spring+Mybatis事務管理中資料來源的思考SpringMyBatis
- spring事務相關Spring
- 請教一個關於多資料來源的分散式事務問題?分散式
- 關於SQL Server事務日誌的問題彙總SQLServer
- 關於servlet多執行緒序的疑問,請各位仁兄作答,謝謝。Servlet執行緒
- Spring 下,關於動態資料來源的事務問題的探討Spring
- 請大家幫忙,關於儲存過程分頁的問題...謝謝儲存過程
- 關於資料庫的問題。請幫忙看下,在下先謝謝了資料庫
- 關於分散式事務帶來的問題及解決方案分散式
- 有關工作流程的概念,用法的問題!謝謝
- 關於spring事務原始碼的一些小理解Spring原始碼
- 關於Hibernate一對多關聯儲存問題
- 關於jsp中連線資料庫的問題,在下先說謝謝了JS資料庫
- 一個關於mysql方面的問題,希望斑竹和大家能幫忙,謝謝!!MySql
- Linux系統下Oracle服務關閉問題LinuxOracle
- Spring基礎系列-Spring事務不生效的問題與迴圈依賴問題Spring
- 關於spring advisor和後設資料 同時來管理事務的問題Spring
- 關於 多程式epoll 與 “驚群”問題
- 小小問題―關於java多執行緒Java執行緒
- 2 Day DBA-管理Oracle例項-關於例項的啟動和關閉-關於例項關閉Oracle
- 怎樣實現關閉connection時自動關閉Statement和ResultSet