需求:
起一个定时任务,定时检索数据库中记录最后更新时间戳,超时报警,Job中关于service代码如下:
WebApplicationContext wac = ContextLoader.getCurrentWebApplicationContext();
UserService service=wac.getBean(UserService .class);
List<User> list=service.getAllUser();
转到dao层去执行时,报错no session found for current Thread。
但是从网页的url进到action里面调用 不会报错。
原因是因为从定时任务调用时会启动一个新的线程,而Hibernate和Spring集成Session是绑定到thread上面的。
解决方式有两种:
1、在定时任务里面获取S