Quartz

1.quartz简介

Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用。Quartz可以用来创建简单或为运行十个,百个,甚至是好几万个Jobs这样复杂的程序。Jobs可以做成标准的Java组件或 EJBs。

官网:http://www.quartz-scheduler.org/

 

2.案例

quartz一般是与spring一起整合使用

1>maven工程,导入quartz的依赖

		<!-- 引入quartz对应的依赖 -->
		<dependency>
			<groupId>org.quartz-scheduler</groupId>
			<artifactId>quartz</artifactId>
			<version>2.2.3</version>
		</dependency>
		<dependency>
			<groupId>org.quartz-scheduler</groupId>
			<artifactId>quartz-jobs</artifactId>
			<version>2.2.3</version>
		</dependency>

2>创建自定义的任务类

public class MyJob {
	public void run() {
		System.out.println("自定义的作业类执行了:" + 
				new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
	}
}

3>spring配置文件中注册任务类

	<!-- 注册自定义作业类 -->
	<bean id="myJob" class="com.imwj.quartz.MyJob"></bean>

4>spring配置文件中配置JobDetail

	<!-- 配置JobDetail -->
	<bean id="jobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
		<!-- 注入目标对象 -->
		<property name="targetObject" ref="myJob"/>
		<!-- 注入目标方法 -->
		<property name="targetMethod" value="run"/>
	</bean>

5>spring配置文件中配置触发器

	<!-- 配置触发器 -->
	<bean id="myTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
		<!-- 注入任务详情对象 -->
		<property name="jobDetail" ref="jobDetail"/>
		<!-- 注入cron表达式,通过这个表达式指定触发的时间点 -->
		<property name="cronExpression">
			<value>0/2 * * * * ? 2017-2099</value>
		</property>
	</bean>

6>spring配置文件中配置scheduler

	<!-- 配置调度工厂 -->
	<bean id="schedulerFactoryBean" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
		<!-- 注入触发器 -->
		<property name="triggers">
			<list>
				<ref bean="myTrigger"/>
			</list>
		</property>
	</bean>

7>测试使用

	public static void main(String[] args) {
		new ClassPathXmlApplicationContext("applicationContext.xml");
	}

 

3.cron表达式

共七位:秒、分、时、日、月、周、年

 

2>特殊字符

*:在这个域上所有合法的值

?:只能用在日和周域上,表示不关心在这个域什么值

,:或

/:递增,0/15代表每15

-:范围

L:只能用在日和周域上,最后一个值

W:只能用在日域上,代表工作日

#:只能用在周域上,6#3代表第三周星期六

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值