Getting Started with Spring+Quartz Scheduled Tasks

There are three main steps: 1. Configure the Job, configure the trigger, and configure the scheduler
<!-- 配置一个Job-->
<bean name="simpleJobDetail" class="org.springframework.scheduling.quartz.JobDetailFactoryBean">
    <property name="jobClass" value="com.my.ssm.web.task.RegisterTask" />
    <property name="jobDataAsMap">
        <map>
            <entry key="timeout" value="0" />
        </map>
    </property>
    <property name="Durability"value="true"/>
</bean>


<!-- Run the job every 2 seconds with initial delay of 1 second
<bean id="simpleTrigger"  class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean">
    <property name="jobDetail" ref="simpleJobDetail" />
    <property name="startDelay" value="60000" />
    <property name="repeatInterval" value="2000" />
</bean>
-->
<!-- CronTrigger -->
<bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
    <property name="jobDetail"ref="simpleJobDetail"></property>
    <property name="cronExpression" 
value="0 39 10 * * ?"></property>
</bean>
<!-- Scheduler factory bean to glue together jobDetails and triggers to Configure Quartz Scheduler -->
<!-- 调度器工厂Bean 用于黏合任务跟触发器 Quartz调度器配置-->
<bean  class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
    <property name="jobDetails">
        <list>
            <ref bean="simpleJobDetail" />
<!--<ref bean="complexJobDetail" />-->
</list>
    </property>
    <property name="triggers"
                    
>
        <list>
            <ref bean="cronTrigger" />
            <!-- <ref bean="cronTrigger" />-->
         </list>
     </property>
 </bean>
public class RegisterTask extends QuartzJobBean{

    private final Logger logger = Logger.getLogger(RegisterTask.class);
    private static int executeTimes = 0;

    @Autowired
    IndexService indexService;

    @Override
    protected void executeInternal(org.quartz.JobExecutionContext jobExecutionContext) throws JobExecutionException {
        logger.info("Now execting the job task with times = "+executeTimes);
        executeTimes++;
    }

}

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=326187759&siteId=291194637