quartz

Quartz使用

导入依赖

<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>

自定义一个任务类

public class MyJob {
	public void sendMsg(){
		System.out.println("自定义的任务执行了,执行时间为:"+new Date());
	}
}

在spring配置文件中将自定义任务类注入

<!-- 注册自定义任务对象 -->
<bean id="myJob" class="cn.itheima.quartz.MyJob"></bean>

在spring配置文件中注册一个jobDetail,通过反射调用类,已经方法

<!-- 注册jobDetail,通过反射调用自定义任务对象 -->
<bean id="myJobDetail" "org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
	<!-- 目标对象 -->
	<property name="targetObject" ref="myJob"></property>
	<property name="targetMethod" value="sendMsg"></property>
</bean>

在spring配置文件中配置触发器,设定触发时间

<!-- 配置触发器,指定任务触发时间 -->
<bean id="myTrigger"  class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
	<!-- 注入jobDetail -->
	<property name="jobDetail" ref="myJobDetail"></property>
	<!-- 通过表达式指定配置任务触发时间 -->
	<property name="cronExpression">
		<!-- 每5秒钟执行一次任务 -->
		<value>0/5 * * * * ? </value>
	</property>
</bean>

在spring配置文件中配置一个调度工厂,统一调度任务 任务可以是多个

	<!-- 配置调度工厂对象,统一调用自定义任务 -->
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
	<!-- 配置触发器,可以配置多个 -->
	<property name="triggers">
		<list>
			<ref bean="myTrigger"/>
		</list>
	</property>
</bean>

测试启动

package cn.itheima;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class QuartzTest {
	public static void main(String[] args) {
		new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值