Spring3.0 + Quartz 1.8.4 配置

简单的使用Spring3.0 + Quartz 1.8.4 进行配置,仅供大家学习.

一个简单的需要通过定时器进行调度的类,具体代码如下:

package com.simonsw.quartz;

import java.util.Date;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * @author Simon Lv
 * @since Nov 11, 2013
 */
public class SpringQtz {
	private Logger logger = LoggerFactory.getLogger(getClass());
	private static int counter = 0;

	protected void execute() {
		long ms = System.currentTimeMillis();
		logger.info("\t\t" + new Date(ms));
		logger.info("(" + counter++ + ")");
	}
}

 创建一个具体的Quartz的配置xml文件,文件名称为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:p="http://www.springframework.org/schema/p"
	xmlns:context="http://www.springframework.org/schema/context"
	xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
	<!-- 使用MethodInvokingJobDetailFactoryBean,任务类可以不实现Job接口,通过targetMethod指定调用方法 -->
	<bean id="springQtzJob" class="com.simonsw.quartz.SpringQtz" />

	<!-- 定义目标bean和bean中的方法 -->
	<bean id="simonQtzJobMethod"
		class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
		<property name="targetObject" ref="springQtzJob" />
		<!-- 要执行的方法名称 -->
		<property name="targetMethod" value="execute" />
		<property name="concurrent" value="false" />
	</bean>

	<!-- ======================== 调度触发器 ======================== -->
	<bean id="simonCronTriggerBean" class="org.springframework.scheduling.quartz.CronTriggerBean">
		<property name="jobDetail" ref="simonQtzJobMethod"></property>
		<property name="cronExpression" value="0/5 * * * * ?"></property>
		<property name="startDelay" value="5000"></property>
	</bean>

	<!-- ======================== 调度工厂 ======================== -->
	<bean id="SpringJobSchedulerFactoryBean"
		class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
		<property name="triggers">
			<list>
				<ref bean="simonCronTriggerBean" />
			</list>
		</property>
	</bean>
</beans>

 最后就是,需要将这个xml文件放置在web.xml中。

最后启动web容器,如Tomcat,启动后,可以看到如下的日志打印信息:

13:57:50.016 [SpringJobSchedulerFactoryBean_Worker-1] INFO  com.simonsw.quartz.SpringQtz - 		Mon Nov 11 13:57:50 CST 2013
13:57:50.016 [SpringJobSchedulerFactoryBean_Worker-1] INFO  com.simonsw.quartz.SpringQtz - (0)
13:57:55.001 [SpringJobSchedulerFactoryBean_Worker-2] INFO  com.simonsw.quartz.SpringQtz - 		Mon Nov 11 13:57:55 CST 2013
13:57:55.001 [SpringJobSchedulerFactoryBean_Worker-2] INFO  com.simonsw.quartz.SpringQtz - (1)
13:58:00.001 [SpringJobSchedulerFactoryBean_Worker-3] INFO  com.simonsw.quartz.SpringQtz - 		Mon Nov 11 13:58:00 CST 2013
13:58:00.001 [SpringJobSchedulerFactoryBean_Worker-3] INFO  com.simonsw.quartz.SpringQtz - (2)
13:58:05.002 [SpringJobSchedulerFactoryBean_Worker-4] INFO  com.simonsw.quartz.SpringQtz - 		Mon Nov 11 13:58:05 CST 2013
13:58:05.002 [SpringJobSchedulerFactoryBean_Worker-4] INFO  com.simonsw.quartz.SpringQtz - (3)
13:58:10.001 [SpringJobSchedulerFactoryBean_Worker-5] INFO  com.simonsw.quartz.SpringQtz - 		Mon Nov 11 13:58:10 CST 2013
13:58:10.002 [SpringJobSchedulerFactoryBean_Worker-5] INFO  com.simonsw.quartz.SpringQtz - (4)
13:58:15.001 [SpringJobSchedulerFactoryBean_Worker-6] INFO  com.simonsw.quartz.SpringQtz - 		Mon Nov 11 13:58:15 CST 2013
13:58:15.001 [SpringJobSchedulerFactoryBean_Worker-6] INFO  com.simonsw.quartz.SpringQtz - (5)
13:58:20.001 [SpringJobSchedulerFactoryBean_Worker-7] INFO  com.simonsw.quartz.SpringQtz - 		Mon Nov 11 13:58:20 CST 2013
13:58:20.001 [SpringJobSchedulerFactoryBean_Worker-7] INFO  com.simonsw.quartz.SpringQtz - (6)
13:58:25.001 [SpringJobSchedulerFactoryBean_Worker-8] INFO  com.simonsw.quartz.SpringQtz - 		Mon Nov 11 13:58:25 CST 2013
13:58:25.001 [SpringJobSchedulerFactoryBean_Worker-8] INFO  com.simonsw.quartz.SpringQtz - (7)
13:58:30.001 [SpringJobSchedulerFactoryBean_Worker-9] INFO  com.simonsw.quartz.SpringQtz - 		Mon Nov 11 13:58:30 CST 2013
13:58:30.002 [SpringJobSchedulerFactoryBean_Worker-9] INFO  com.simonsw.quartz.SpringQtz - (8)
13:58:35.001 [SpringJobSchedulerFactoryBean_Worker-10] INFO  com.simonsw.quartz.SpringQtz - 		Mon Nov 11 13:58:35 CST 2013
13:58:35.001 [SpringJobSchedulerFactoryBean_Worker-10] INFO  com.simonsw.quartz.SpringQtz - (9)
13:58:40.001 [SpringJobSchedulerFactoryBean_Worker-1] INFO  com.simonsw.quartz.SpringQtz - 		Mon Nov 11 13:58:40 CST 2013
13:58:40.001 [SpringJobSchedulerFactoryBean_Worker-1] INFO  com.simonsw.quartz.SpringQtz - (10)
13:58:45.002 [SpringJobSchedulerFactoryBean_Worker-2] INFO  com.simonsw.quartz.SpringQtz - 		Mon Nov 11 13:58:45 CST 2013
13:58:45.002 [SpringJobSchedulerFactoryBean_Worker-2] INFO  com.simonsw.quartz.SpringQtz - (11)
13:58:50.002 [SpringJobSchedulerFactoryBean_Worker-3] INFO  com.simonsw.quartz.SpringQtz - 		Mon Nov 11 13:58:50 CST 2013
13:58:50.002 [SpringJobSchedulerFactoryBean_Worker-3] INFO  com.simonsw.quartz.SpringQtz - (12)

 具体想看我的源代码,到GitHub上下载源代码:

https://github.com/simon5408/DummyProj

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值