OpenSessionInView裡的Session不能自動關閉?

geasslei發表於2009-10-20
在Struts2+spring+hibernate整合的專案裡,用到了spring的OpenSessionInViewFilter過濾器,來延長 Session的生命週期,但在使用過程中,lasy載入正常是可以用的,就是session不會自動關閉。我檢視原始碼裡有下面一段
Java程式碼

1. public static void closeSession(Session session) {
2. if (session != null) {
3. logger.debug("Closing Hibernate Session");
4. try {
5. session.close();
6. }
7. catch (HibernateException ex) {
8. logger.debug("Could not close Hibernate Session", ex);
9. }
10. catch (Throwable ex) {
11. logger.debug("Unexpected exception on closing Hibernate Session", ex);
12. }
13. }
14. }

上面的logger根本就沒有輸入,也就是說沒有進入這個地方
Java程式碼

1. logger.debug("Closing single Hibernate Session in OpenSessionInViewFilter");
2. closeSession(sessionHolder.getSession(), sessionFactory);


只執行了上面那個logger
不清楚是為什麼,向高手請教~~~

相關文章