1. 程式人生 > >spring-quartz-01

spring-quartz-01

    <!-- 在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");
    }