spring_quartz配置多定时任务

1 篇文章 0 订阅

spring_quartz配置多定时任务

1:引入pom.xml

<dependencies>
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>servlet-api</artifactId>
			<version>2.5</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context</artifactId>
			<version>${springframework.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context-support</artifactId>
			<version>${springframework.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-tx</artifactId>
			<version>${springframework.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-web</artifactId>
			<version>${springframework.version}</version>
		</dependency>
		<dependency>
			<groupId>org.quartz-scheduler</groupId>
			<artifactId>quartz</artifactId>
			<version>1.8.6</version>
		</dependency>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>3.8.1</version>
			<scope>test</scope>
		</dependency>
	</dependencies>

2:配置web.xml

  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>
			classpath:/spring/*.xml
		</param-value>
  </context-param>
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>

3:配置调度器,触发器,任务

<!-- 任务1配置 -->
	<bean name="job1" class="com.quartz.demo.Job1Demo"/>
	<bean id="jobDetail_1" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
		<!-- 执行的类 -->
		<property name="targetObject">
			<ref bean="job1" />
		</property>
		<!-- 类中的方法 -->
		<property name="targetMethod">
			<value>sayHello</value>
		</property>
	</bean>
	<bean id="cronTrigger_1" class="org.springframework.scheduling.quartz.CronTriggerBean">
		<property name="jobDetail">
			<ref bean="jobDetail_1" />
		</property>
		<!-- 每一秒钟执行一次 -->
		<property name="cronExpression">
			<value>0/1 * * * * ?</value>
		</property>
	</bean>
	
	<!-- 任务2配置 -->
	<bean name="job2" class="com.quartz.demo.Job2Demo"/>
	<bean id="jobDetail_2" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
		<property name="targetObject">
			<ref bean="job2" />
		</property>
		<property name="targetMethod">
			<value>sayHello</value>
		</property>
	</bean>
	<bean id="cronTrigger_2" class="org.springframework.scheduling.quartz.CronTriggerBean">
		<property name="jobDetail">
			<ref bean="jobDetail_2" />
		</property>
		<property name="cronExpression">
			<value>0/1 * * * * ?</value>
		</property>
	</bean>
	
	<!-- 总配置 -->
	<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
		<!-- 添加触发器 -->
		<property name="triggers">
			<list>
				<ref bean="cronTrigger_1" />
				<ref bean="cronTrigger_2" />
			</list>
		</property>
	</bean>

4:编写java类

import java.util.Date;
 
public class Job1Demo {
	public void sayHello() {
		System.out.println(new Date() + " -> Hello, 我是任务 2");
	}
}
import java.util.Date;
 
public class Job2Demo {
	public void sayHello() {
		System.out.println(new Date() + " -> Hello, 我是任务 1");
	}
}

运行
按配置定时任务执行

core配置参考:https://www.pppet.net/

https://gitee.com/thsoc/spring_quartz?_from=gitee_search

以上是配置文件配置定时任务;

以下是java代码实现定时任务:

任务类,触发器,配置放入调度器中

在这里插入图片描述

https://gitee.com/selfly/spring-quartz-demo?_from=gitee_search

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值