java石英调度Quartz

可以在固定的时间执行指定的任务

1.基本格式
	用空格分开的7个部分
	①秒:0~59
	②分钟:0~59
	③小时:0~23
	④日期:0~31
	⑤月:0~11
	⑥星期:1~7(1为星期日)
	⑦年份:1970~2099可选
2.设置方式
	①指定具体值:5
	②连续区间:9-12
	③有间隔的区间:8-18/4
		斜杠后面为间隔跨度
	④具体值的列表:1,3,5
	⑤通配符
		[1]*:表示在取值范围内的所有时间点都执行调度任务
		[2]/:用于表示时间间隔
		[3]?:仅被用于day-of-month字段或day-of-week字段,表示不指定值 dayofmonth 和 dayof week必须有一个是?
		[4]L:仅被用于day-of-month字段或day-of-week字段,表示一个月或一个星期的最后一天
		[5]W("weekday"):只能用在day-of-month字段,代表工作日
		[6]#:只能用在day-of-week字段。用来指定这个月的第几个周几
		[7]C:指和calendar联系后计算过的值。
spring容器的配置
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

	<bean id="jobDetailBean" class="org.springframework.scheduling.quartz.JobDetailBean">
		<property name="jobClass" value="com.公司名.quartz.MyQuartz"/>
	</bean>
	
	<bean id="cronTriggerBean" class="org.springframework.scheduling.quartz.CronTriggerBean">
		<!-- 指定克龙表达式 -->
		<property name="cronExpression" value="*/3 * * * * ?"/>   //表示每三秒钟
		<!-- 装配jobDetailBean -->
		<property name="jobDetail" ref="jobDetailBean"></property>
	</bean>
	
	<bean id="schedulerFactoryBean" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
		<property name="triggers">
			<array>
				<ref bean="cronTriggerBean"/>
			</array>
		</property>
	</bean>

</beans>

pojo对象:

public class MyQuartz extends QuartzJobBean {
	
	@Override
	protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
	  //在这里做你想做的操作
	  //如果想要在这个pojo中注入ioc容器中的对象来进行使用的话 不可以使用 autowired注解 因为我们注入的
	  //并不是这个MyQuartz pojo类 应该在这个MyQuartz类中提供你所需要组件的set()方法,并在JobDetailBean的jobDataMap属性中配置
	}

}


启动spring容器即可进行
发布了63 篇原创文章 · 获赞 44 · 访问量 6243

猜你喜欢

转载自blog.csdn.net/weixin_40695328/article/details/93482894