今项目中要自动更新会员级别,用到定时器,顺便整理了下
感谢下边俩位兄弟的分享
http://www.blogjava.net/fastunit/archive/2008/02/15/180116.html
http://www.iteye.com/topic/1125517
刚开始一直报错
找了半天原因,不知道为啥,后来才发现是因为直接在web。xml配置的定时监听,在执行这个定时器时,hibernate sessionFactory压根就创建出来,
所以调用它里的方法肯定要报错;之后把定时器配置在spring文件里,这个问题就解决啦
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:task="http://www.springframework.org/schema/task"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/task
http://www.springframework.org/schema/task/spring-task-3.0.xsd">
<bean id="testService" class="com.xxx.spring.business.TestService" />
<task:scheduled-tasks>
<task:scheduled ref="testService" method="sayHello" cron="3/11 * * * * ?" />
<task:scheduled ref="testService" method="sayBye" cron="7/13 * * * * ?" />
</task:scheduled-tasks>
</beans>