1. 程式人生 > >spring quartz hibernate no session 的問題

spring quartz hibernate no session 的問題

在ssh中整合quartz 定時任務過程中 使用hibernate操作資料庫時會出現 no session 的情況.

產生原因 我們使用spring為解決hibernate在web請求中開啟關閉問題使用了OpenSessionInViewFilter做延遲載入, 看OpenSessionInViewFilter的原始碼 可知, 這個東東需要httprequest 和 httpResponse ; so 產生這個的原因就是在定時任務執行中,沒有webcontext參與.所以我們需要在執行的時候裝載這個環境.

解決辦法:

在job execute 方法新增


SpringBeanAutowiringSupport.processInjectionBasedOnCurrentContext(this);

解決此問題.