Quartz定时任务

Maven依赖

<dependency>
    <groupId>org.quartz-scheduler</groupId>
    <artifactId>quartz</artifactId>
    <version>2.2.2</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context-support</artifactId>
    <version>4.1.3.RELEASE</version>
</dependency>


Quartz框架的四大核心对象
Scheduler – 核心调度器
Job – 任务
JobDetail – 任务描述
Trigger – 触发器
图在这呢,此图源于网络

具体使用方法
第一步:创建Job类
创建一个java类,创建一个普通方法,作为任务处理方法

public class Job extends QuartzJobBean{

    @Override
    protected void executeInternal(JobExecutionContext context)
            throws JobExecutionException {
        System.out.println("开始任务");

        ApplicationContext applicationContext = (ApplicationContext) context.getJobDetail().getJobDataMap()
                .get("applicationContext");

        System.out.println("结束任务");
    }

第二步:将Job类配置JobDetail任务描述

<bean name="myJobDetail"
        class="org.springframework.scheduling.quartz.JobDetailFactoryBean">
        <!-- 指定具体的job类 -->
        <property name="jobClass" value="com.job.Job" />
        <!-- 指定job的名称 -->
        <property name="name" value="myJob" />
        <!-- 指定job的分组 -->
        <property name="group" value="jobs" />
        <!-- 必须设置为true,如果为false,当没有活动的触发器与之关联时会在调度器中删除该任务 -->
        <property name="durability" value="true" />
        <!-- 指定spring容器的key,如果不设定在job中的jobmap中是获取不到spring容器的 -->
        <property name="applicationContextJobDataKey" value="applicationContext" />
    </bean>

第三步:配置调度触发器

<bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean ">
        <property name="jobDetail" ref="myJobDetail"></property>
        <property name="cronExpression" value="0/5 * * * * ?"></property>
    </bean>
    <!-- 一个job可以有多个trigger,而一个trigger不能有多个job -->
    <!-- <bean id="cronTrigger2"
        class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
        <property name="jobDetail" ref="myJobDetail" />
        <property name="cronExpression" value="0/8 * * * * ?(触发器表达式)" />
    </bean> -->

触发器表达式的生成,可以下载quartz表达式生成器 自动生成 资源可到本人csdn资源站下载

第四步:配置调度工厂

<bean id="SpringJobSchedulerFactoryBean"
        class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
        <property name="triggers">
            <list>
                <ref bean="cronTrigger" />
                <!---  <ref bean="cronTrigger2" />  ---->
            </list>
        </property>
    </bean>


ok!!!结束!! 希望给各位猿友带来帮助吧!!! 偷偷告诉你们!!!这是我刚写的日记!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值