基于Maven的Quartz使用范例(附cron 表达式的格式介绍)

本文提供了一个基于Maven的Quartz使用范例,详细介绍了如何配置和执行Quartz定时任务,包括引入依赖、创建实例、配置XML、实现类执行等步骤。此外,还详细讲解了Quartz的Cron表达式格式,包括星号、问号、逗号、斜杠、中划线、L字母、W字母和井号等特殊字符的含义和使用方式。
摘要由CSDN通过智能技术生成

官网:http://www.quartz-scheduler.org/

一:Quartz使用范例

1.在Maven中引入依赖

<dependency>

      <groupId>org.quartz-scheduler</groupId>

      <artifactId>quartz</artifactId>

      <version>2.2.1</version>

  </dependency>

  <dependency>

      <groupId>org.quartz-scheduler</groupId>

      <artifactId>quartz-jobs</artifactId>

      <version>2.2.1</version>

  </dependency> 

 2.创建实例文件

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

public class MyJob {
    public void run() {
        System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
    }
}

 3.配置applicationContext.xml

<!-- 配置任务类 -->
    <bean id="myJob" class="com.wenhao.test1.MyJob">
    </bean>
    
    <!-- 配置jobDetail -->
    <bean id="myJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
        <!-- 用到的job实例 -->
        <property name="targetObject" ref="myJob"/>
        <!-- job实例中的方法 -->
        <property name="targetMethod" value="run"/>
    </bean>
    
    <!-- 配置触发器Trigger -->
    <bean id="myTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
        <property name="jobDetail" ref="myJobDetail"></property>
        <property name="cronExpression">
            <!-- 每5秒执行一次 -->
            <value>0/5 * * * * ?</value>
        </property>
    </bean>
    
    <!-- 配置scheduler工厂 -->
    <bean id="scheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
        <property name="triggers">
            <list>
                <ref bean="myTrigger"/>
            </list>
        </property>
    </bean>

 

 4.创建实现类执行

import org.springframework.context.support.ClassPathXmlApplicationContext;

public class App {
    public static void main(String[] args) {
        new ClassPathXmlApplicationContext("applicationContext.xml");
    }
}

5.运行结果

二:cron 表达式的格式介绍

Quartz cron 表达式的格式十分类似于 UNIX cron 格式,但还是有少许明显的区别。区别之一就是 Quartz 的格式向下支持到秒级别的计划,而 UNIX cron 计划仅支持至分钟级。许多我们的触发计划要基于秒级递增的(例如,每45),因此这是一个非常好的差异。

UNIX cron 里,要执行的作业(或者说命令)是存放在 cron 表达式中的,在第六个域位置上。Quartz cron 表达式存放执行计划。引用了 cron 表达式的 CronTrigger 在计划的时间里会与 job 关联上。

另一个与 UNIX cron 表达式的不同点是在表达式中支持域的数目。UNIX 给出五个域(分、时、日、月和周)Quartz 提供七个域。表

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值