<!-- Timer schedule 此段代碼是Spring整合Quartz的配置文件 --> <!--要調度的對象 稱之為 任務器或者作業器,或作業任務,是按照一定規律運行的定時任務
解釋:調用QtzJob這個POJO類中的execute方法
將com.wfg.QtzJob注冊給jobBean,jobBean就是作業任務
-->
<bean id="jobBean" class="com.wfg.QtzJob" /> <bean id="jobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <property name="targetObject" ref="jobBean" /> <property name="targetMethod" value="execute" /> <!--將並發設置為false --> <property name="concurrent" value="false" /> </bean> <bean id="trigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<!--
<bean id="trigger" class="org.springframework.scheduling.quartz.CronTriggerBean"> Quartz 1.7.3 與Spring 4.0.6 可以使用 CronTriggerBean Quartz 2.2.3 與Spring 4.2.2 須使用CronTriggerFactoryBean
作業觸發器,就是直接觸發作業任務的控制器,一個觸發器只能觸發一個任務,一個任務可以被多個觸發器觸發 --> <property name="jobDetail" ref="jobDetail" /> <!-- cron表達式 --> <property name="cronExpression" value="* 0/5 * * * ?" /> </bean> <!-- 總管理類如果將lazy-init='false'那么容器啟動就會執行調度程序
作業調度器 SchedulerFactoryBean 管理和配置觸發器
--> <bean id="startQuertz" class="org.springframework.scheduling.quartz.SchedulerFactoryBean" lazy-init="false"> <property name="triggers"> <list> <!--作業調度器,list下可加入其他的調度器 --> <ref bean="trigger" /> </list> </property> </bean>
<property name="concurrent" value="false" />
false:任務執行一次需要的時間超過了repeatInterval,下次執行會等這次執行玩再執行 --- 串行設置
true:任務執行一次超過repeatInterval時,會新開啟一個線程,進入第二次執行 ---並行設置