quartz定时组件的简单使用
一. 前言
最近有毕业学员问,说在面试的时候,被问到了定时组件的使用,这位学员一脸懵逼,他竟然不知道实现定时组件的技术有哪些。其实实现定时功能的技术繁多,比如cron4j、SpringTask、Quartz等。当然我们大可不必学习所有的定时组件,只需要根据公司的实际情况,学习某一个定时组件的基本功能,根据业务合理运用,实现相关功能即可。
二. quartz的使用
今天就以quartz定时组件为例,来给大家简单讲解定时组件的基本使用。本次咱们先抛砖引玉,对quartz的使用有个基本的了解,好了,我们废话不多说,直接来盘它!
三. 搭建工程
今天我们基于原生的SSM环境来实现quartz定时组件的开发,虽然XML的配置方式比较繁琐,但配置思路却比较清晰,让人一看就一目了然,对新手而言易于理解。
1.搭建Spring工程,引入依赖
我们先创建一个maven工程,将所需要用到的依赖全部拷贝至pom.xml中。
- Spring-context 是Spring的核心依赖,我们一般要在Spring环境中使用quartz,所以我们需要先导入spring的核心依赖包。
- quartz quartz-job 这两个依赖是我们使用的quartz组件核心依赖。
2.创建spring配置文件
接着创建一个applicationContext.xml文件,并进行相关的配置。
2.1 MethodInvokingJobDetailFactoryBean
然后我们需要定义一个类,然后在这个类里面定义一个需要被定时执行的方法。在quartz中,这个方法的执行是交给一个job执行的工厂bean的。所以我们需要配置这个工厂bean。
- 工厂bean内部配置targetObject属性。这个属性的值引用了我们需要被任务调度的那个bean。
- targetMethod: 目标方法。就是我们具体被任务调度的方法。
2.2 CronTriggerFactoryBean
根据中文意思,这是一个任务调度工厂的触发器。我们工厂里面定义的目标方法如何执行,就是需要被这个触发器触发并执行的。这个bean的内部有两个属性:
- jobDetail 真正需要被触发器触发的任务调度bean。
- cronExpression 触发器执行需要遵循的时间规则。
关于cron表达式,我们可以参照一个在线网站去编写,http://cron.qqe2.com/
2.3 SchedulerFactoryBean
SchedulerFactoryBean是任务调度工厂bean,我们的触发器如果要执行的话,需要在SchedulerFactoryBean里面进行相关配置。通过配置文件,我们发现在内部配置了任务调度触发器的集合。这里为什么是集合呢?因为我们的任务调度触发器可能需要多个,也就是可能会有多个任务需要调度,这就是我们使用List指定触发器的原因。
3.创建任务调度类
然后再创建一个类,编写一个执行方法。
4.测试
接着编写测试类,初始一个IoC容器。
5.代码结构
最后完整的代码结构如下图所示:
6.启动运行
当我们把项目启动后,执行结果如下图所示:
好啦,到这里我们就简单演示了quartz的基本使用,希望对新手小伙伴能有所帮助。
相关推荐HOT
更多>>如何添加Java环境变量?
要添加Java环境变量,可以按照以下步骤:并安装Java开发工具包(JDK)、找到Java安装路径、设置JAVA_HOME环境变量、添加Java可执行文件路径到PATH...详情>>
2023-05-04 11:00:56从零开始学Java之String字符串的编码
对很多小白来说,可能不明白什么是字符编码,也不知道为什么要有字符编码,所以先来给大家简要地介绍一下字符编码。详情>>
2023-05-04 10:21:02新手速来!几步带你掌握MyBatis Plus
Mybatis-Plus(简称MP)是一款Mybatis的增强工具,它是在Mybatis的基础上实现的简化开发工具。Mybatis-Plus给我们提供了开箱即用的CRUD操作、自动...详情>>
2023-04-28 10:57:09学习java需要什么基础?基础知识有哪些?
网络编程:了解基本的网络编程概念和协议,熟悉 Java 网络编程 API。建议在学习 Java 之前,先学习一些基础的编程语言,如 C 或 Python 等,这...详情>>
2023-04-28 10:41:14