首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

spring的定时部署

2012-09-14 
spring的定时调度项目中要用到一个报表的运算服务器,项目一运行,就会启动相关的运算方法。想了一圈,java we

spring的定时调度

项目中要用到一个报表的运算服务器,项目一运行,就会启动相关的运算方法。

想了一圈,java web项目,spring是个万金油,什么都叫由它来管理。一查,还真有这个定时调度的功能。

spring提供两种触发器,一个是CronTriggerBean,一个是SimpleTriggerBean。

好懒,长话短说吧。

环境: spring + ibatis,首先配置spring配置文件。写service层(具体的运算方法就写在这)。

 

1. CronTriggerBean

<!-- 定义job --><bean name="mathsJob1"class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"><!-- 注入的service层 --><property name="targetObject" ref="mathsService" /><!-- 调用的方法--><property name="targetMethod" value="aotoMathsMethod1" /><!--concurrent为true,则允许一个QuartzJob并发执行,否则就是顺序执行 --><property name="concurrent" value="false" /></bean><!-- 定义CronTriggerBean触发器 --><bean id="mathsTriggerBean" class="org.springframework.scheduling.quartz.CronTriggerBean"><!-- 注入需要出发的job --><property name="jobDetail"><ref bean="mathsJob1" /></property><!-- 触发的规则,这里是 每天的凌晨1点触发 --><property name="cronExpression"><value>0 0 1 * * ?</value></property></bean>


 

 

 

2.SimpleTriggerBean

<!-- 定义job --><bean name="mathsJob2"class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"><!-- 注入的service层 --><property name="targetObject" ref="mathsService" /><!-- 调用的方法--><property name="targetMethod" value="aotoMathsMethod2" /><!--concurrent为true,则允许一个QuartzJob并发执行,否则就是顺序执行 --><property name="concurrent" value="false" /></bean><!-- 定义SimpleTriggerBean触发器 --> <bean id="mathsTriggerBean" class="org.springframework.scheduling.quartz.SimpleTriggerBean">  <!-- 注入需要出发的job -->  <property name="jobDetail">   <ref bean="mathsJob2" />  </property>    <!-- 30s后启动 -->      <property name="startDelay" value="30000" />      <!-- 10s检查一次 -->      <property name="repeatInterval" value="2*60*60*1000" />  </bean>


 

 

具体的触发规则请参考相关文档,人懒就不附上了 - -

热点排行