<!-- 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時,會新開啟一個線程,進入第二次執行 ---並行設置