项目中要用到一个报表的运算服务器,项目一运行,就会启动相关的运算方法。
想了一圈,java web项目,spring是个万金油,什么都叫由它来管理。一查,还真有这个定时调度的功能。
spring提供两种触发器,一个是CronTriggerBean,一个是SimpleTriggerBean。
好懒,长话短说吧。
环境: spring + ibatis,首先配置spring配置文件。写service层(具体的运算方法就写在这)。
1). CronTriggerBea
- <bean name="mathsJob1"
- class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
-
- <property name="targetObject" ref="mathsService" />
-
- <property name="targetMethod" value="aotoMathsMethod1" />
-
- <property name="concurrent" value="false" />
- </bean>
-
- <bean id="mathsTriggerBean" class="org.springframework.scheduling.quartz.CronTriggerBean">
-
- <property name="jobDetail">
- <ref bean="mathsJob1" />
- </property>
-
- <property name="cronExpression">
- <value>0 0 1 * * ?</value>
- </property>
- </bean>
2).SimpleTriggerBean
- <bean name="mathsJob2"
- class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
-
- <property name="targetObject" ref="mathsService" />
-
- <property name="targetMethod" value="aotoMathsMethod2" />
-
- <property name="concurrent" value="false" />
- </bean>
-
-
- <bean id="mathsTriggerBean" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
-
- <property name="jobDetail">
- <ref bean="mathsJob2" />
- </property>
-
- <property name="startDelay" value="30000" />
-
- <property name="repeatInterval" value="2*60*60*1000" />
- </bean>
spring的定时调度
原文:http://www.cnblogs.com/JSWBK/p/5832217.html