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>
相关文章
相关标签/搜索