Quartz組件使用一

第一步:定義執行類java

package group.esperanto.util;

import java.text.SimpleDateFormat;
import java.util.Date;

import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.scheduling.quartz.QuartzJobBean;

public class MyTask1 extends QuartzJobBean {
    @Override
    protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
        System.out.println("當前日期:  " + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
    }

}

第二步:在Spring中配置執行類信息spring

<!-- 此處表示要執行任務控制類在Spring中配置 而且告訴容器,由誰來執行 -->
        <bean id="quartzFactory1" class="org.springframework.scheduling.quartz.JobDetailFactoryBean">
             <!-- 當前可執行任務的類,這個類是QuartzJobBean的子類 -->
           <property name="jobClass" value="group.esperant.util.MyTask1" />
             <!-- 配置任務執行時配置的若干信息 -->
             <property name="jobDataMap">
                <map>
                    <!-- 當即執行,不延遲 -->
                   <entry key="timeout" value="0"/>
                </map>
             </property>
        </bean>

第三步:定義間隔觸發或定時觸發ide

<!-- 描述間隔觸發控制 -->
<bean id="simpleTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean">
   <!-- 定義間隔觸發程序類 -->
  <property name="jobDetail" ref="quartzFactory1"/>
    <!-- 觸發延遲 -->
  <property name="startDelay" value="0"/>
    <!-- 間隔時間 -->
  <property name="repeatInterval" value="2000"/>
</bean>

code

<!-- 定義定時觸發 -->
<bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
   <!-- 定義定時觸發類 -->
   <property name="jobDetail" ref="quartzFactory1"/>
   <!-- 定義CRON表達式 , 每秒觸發 -->
   <property name="cronExpression" value="* * * * * ?"/>
</bean>

      

第四步: 定義配置調度工廠類orm

<!-- 定義調度工廠類配置 -->
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
    <property name="triggers">
       <list>
        <!-- <ref bean="simpleTrigger"/> --> 
        <ref bean="cronTrigger"/>
       </list>
    </property>
</bean>
相關文章
相關標籤/搜索