spring+quartz任务调度器

本文介绍如何在SSM框架中整合Quartz实现定时任务。通过添加必要的Maven依赖,定义测试类MyJob,配置spring-quartz.xml,实现定时任务的执行。文章详细解释了配置文件的各个部分,包括任务类、方法调用、触发器和调度工厂的设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以SSM为基础在框架中添加quratz框架!

需要的jar包(maven)
主要就是这一个,在其他文档中看到都是需要很多个 但是由于是ssm为基础 可能我的都已经添过了(如果出现缺少jar包 很抱歉,请自行搜索maven添加)

        <!-- quartz 定时器 -->
		<dependency>
			<groupId>org.quartz-scheduler</groupId>
			<artifactId>quartz</artifactId>
			<version>2.3.1</version>
		</dependency>

定义一个测试类MyJob及测试任务

package com.gm.util;

import java.util.Date;

import org.apache.commons.lang3.time.DateFormatUtils;

public class MyJob {
	 public void printTime() {
	        System.out.println("定时任务执行时间:"+DateFormatUtils.format(new Date(), "yyyy-MM-dd HH:mm:ss"));
	    }
}

添加quartz配置文件:spring-quartz.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
	xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
	xsi:schemaLocation="http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.3.xsd
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
        http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.3.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd">

	<!-- 要执行的类 -->
	<bean id="articleBatchRun" class="com.gm.util.MyJob" />

	<!-- 要执行的方法 -->
	<bean id="articleBatchRunService"
		class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
		<!-- 要调用的对象 -->
		<property name="targetObject" ref="articleBatchRun" />
		<!-- 要执行的方法名称 -->
		<property name="targetMethod" value="printTime" />
		<!-- 如果前一个任务还没有结束第二个任务不会启动 false -->
		<property name="concurrent" value="false" />
	</bean>

	<!-- 调度触发器 -->
	<bean id="articleBatchRunTrigger"
		class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
		<property name="jobDetail" ref="articleBatchRunService" />
		<!-- 每隔5秒钟审批一次 -->
		<property name="cronExpression" value="*/5 * * * * ?" />
	</bean>

	<!-- 调度工厂 -->
	<bean id="schedulerBean"
		class="org.springframework.scheduling.quartz.SchedulerFactoryBean"
		lazy-init="false">
		<property name="triggers">
			<list>
				<!-- 要执行的任务触发器 -->
				<ref bean="articleBatchRunTrigger" />
			</list>
		</property>
	</bean>

</beans>

在spring配置文件中引入该文件

<import resource="spring-quartz.xml"/>

运行tomcat即可
在这里插入图片描述
这样就搞定了!

定时任务时间设置

每天凌晨2点  0 0 2 * * ?和每天隔一小时 0 * */1 * * ?

例1:每隔5秒执行一次:*/5 * * * * ?

例2:每隔5分执行一次:0 */5 * * * ?
在26分、29分、33分执行一次:0 26,29,33 * * * ?

例3:每天半夜12点30分执行一次:0 30 0 * * ? (注意日期域为0不是24)
每天凌晨1点执行一次:0 0 1 * * ?

每天上午10:15执行一次: 0 15 10 ? * * 或 0 15 10 * * ? 或 0 15 10 * * ? *

每天中午十二点执行一次:0 0 12 * * ?

每天14点到14:59分,每1分钟执行一次:0 * 14 * * ?

每天14点到14:05分,每1分钟执行一次:0 0-5 14 * * ?

每天14点到14:55分,每5分钟执行一次:0 0/5 14 * * ?

每天14点到14:55分,和18点到18点55分,每5分钟执行一次:0 0/5 14,18 * * ?

每天18点执行一次:0 0 18 * * ?

每天18点、22点执行一次:0 0 18,22 * * ?

每天7点到23点,每整点执行一次:0 0 7-23 * * ?

每个整点执行一次:0 0 0/1 * * ?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值