spring-quartz-01
阿新 • • 發佈:2018-11-18
<!-- 在spring裡面進行任務的註冊,明確的告訴容器,一旦執行任務之後誰來處理 --> <bean id="myTask" class="org.springframework.scheduling.quartz.JobDetailFactoryBean"> <!-- 此為任務執行之後的任務處理執行類 預設呼叫 executeInternal() 方法 --> <property name="jobClass" value="cn.mldn.util.MyTask" /> <property name="jobDataAsMap" > <map> <!-- 容器啟動之後立即觸發 --> <entry key="timeout" value="0" /> </map> </property> </bean> <!-- 此處配置的是一個間隔觸發,既然是間隔觸發就必須設定要觸發的任務 --> <bean id="simpleTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean"> <property name="jobDetail" ref="myTask" /> <!-- 一旦觸發立即執行的任務 --> <property name="startDelay" value="0" /> <!-- 立即觸發 --> <property name="repeatInterval" value="2000"/> <!-- 每兩秒觸發一次 --> </bean> <!-- 設定定時觸發 --> <bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean"> <property name="jobDetail" ref="myTask"/> <property name="cronExpression" value="0 * * * * ?"/> <!-- 每分鐘進行觸發 --> </bean> <!-- 定義排程工廠,排程工廠就相當於在容器啟動的時候可以 --> <!-- 設定間隔觸發器 --> <bean id="fBean" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="triggers"> <list> <!-- 間隔觸發操作 --> <ref bean="cronTrigger" /> </list> </property> </bean>
test (容器啟動時呼叫 定時任務----需要quartz-2.2.1.jar)
public static void main(String[] args) { ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml"); }