`
simon5408
  • 浏览: 5061 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

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

分享到:
评论

相关推荐

    Spring3.0+quartz-2.1.6

    整合Spring3.0+quartz-2.1.6 ..............................................................................

    spring3.0+quartz-1.6.0定时

    Spring 3.0 和 Quartz ...首先,你需要在Spring配置文件中声明一个`SchedulerFactoryBean`,这将初始化并管理Quartz调度器。然后,通过定义`JobDetail`和`Trigger`,你可以将Spring的bean作为任务来调度。 ```xml ...

    spring3.0 + Quartz1.52 + applicationContext.xml

    这个压缩包“spring3.0 + Quartz1.52 + applicationContext.xml”显然是一个关于如何在Spring 3.0环境中集成Quartz 1.52版本的示例或教程资源。 首先,`applicationContext.xml`是Spring框架的核心配置文件,它定义...

    spring + quartz 集群配置

    java + quartz实现定时任务,实现集群配置,在集群环境下多节点运行定时Quartz定任务,就会存在重复处理任务的现象,为解决这一问题,下面我将介绍使用 Quartz 的 TASK ( 12 张表)实例化到数据库,基于数据库自动...

    spring+springMVC+mybatis+quartz动态定时任务创建

    在IT行业中,构建高效、可扩展的Web应用是至关重要的,而"spring+springMVC+mybatis+quartz动态定时任务创建"就是一个常见的技术栈,用于实现这样的目标。这个组合充分利用了各组件的优势,提供了强大的后端服务支持...

    Spring mvc + Mybatis + quartz + swagger 定时任务管理[新增、编辑、删除、修改]

    本项目就是基于Spring MVC、Mybatis、Quartz和Swagger实现的一个定时任务管理系统,旨在提供一种灵活且可配置的方式来管理和控制定时任务。下面将详细讲解这个系统的核心组成部分及其工作原理。 首先,Spring MVC是...

    spring boot + quartz 动态管理 分布式

    这些资源可能包括Quartz的Job类定义、Spring Boot的配置文件(application.properties或application.yml)、数据库模型和迁移脚本、以及用于演示动态管理任务的控制器和服务类代码。开发者可以研究这些文件,了解...

    spring+mybatis+quartz任务调度实例和spring+quartz任务调度实例

    里面包含了两个工程项目: 1.Java project工程(含jar包,JDK1.6)。 是spring+quartz的任务调度实例。 2.Java web工程(含jar包,JDK1.7)。 spring+mybatis+quartz任务调度实例

    spring 3.2.2 + quartz 2.1 定时器 需要的包整理

    spring 3.2.2 + quartz 2.1 需要的包 包括 quartz-2.1.5.jar slf4j-api-1.6.1.jar slf4j-log4j12-1.6.1.jar spring-context-support-3.2.0.RELEASE.jar

    spring+mvc+quartz.rar

    4. 注册Job和Trigger:在Spring配置文件中注册Job和Trigger,将Job与Trigger关联,指定触发条件。 5. Spring MVC控制器:创建Spring MVC的Controller,提供管理任务的接口,如启动、暂停、立即执行和重新调度任务。...

    Spring Boot+Apache Shiro+Spring MVC+MyBatis+Quartz+Druid DEMO

    这是一个基于Spring Boot、Apache Shiro、Spring MVC、MyBatis、Quartz和Druid的数据源管理框架的示例项目,名为"renren-security"。这个DEMO提供了完整的权限管理和任务调度解决方案,下面是这些技术栈的核心知识点...

    spring4+hibernate5+quartz2+hdfs整合

    在提供的压缩包"spring4+hibernate5+quartz2+hdfs.rar"中,可能包含了配置文件、Java源代码、数据库连接设置等,用户只需提供自己的JDBC连接信息,即可快速部署和运行这个整合系统。通过解压并研究这些文件,开发者...

    Spring + Quartz配置实例(转载)

    2. **Spring配置文件**:在Spring的XML配置文件中,我们需要声明一个`SchedulerFactoryBean`,它是Spring对Quartz调度器的封装。通过这个bean,我们可以配置Quartz的相关属性,如JobStore类型(内存或数据库存储),...

    spring3+quartz1.6.4 集群示例

    要在Spring和Quartz中实现集群,需要配置Quartz的集群参数,如jobStoreIsClustered设为true,设置database连接信息,以及确保所有节点使用相同的schedulerInstanceId。同时,数据库表也需要按照Quartz的要求进行...

    spring+quartz+maven项目实例

    【标题】"Spring+Quartz+Maven项目实例"是一个基于Spring框架集成Quartz作业调度库的实战项目,采用Maven作为构建工具。这个实例旨在展示如何在Java应用程序中实现定时任务,支持两种运行模式,既可以直接以独立的...

    基于spring-boot+quartz的CRUD任务管理系统源码+项目说明.zip

    基于spring-boot+quartz的CRUD任务管理系统源码+项目说明.zip基于spring-boot+quartz的CRUD任务管理系统源码+项目说明.zip基于spring-boot+quartz的CRUD任务管理系统源码+项目说明.zip基于spring-boot+quartz的CRUD...

    Spring3.2.4 + Quartz2.2.0集成实例

    Spring3.2.4 + Quartz2.2.0集成实例 可参考http://blog.csdn.net/liangbinny/article/details/17284691

    Spring3.2.3+Quartz2.2 整合配置

    本篇文章将详细介绍如何将Spring 3.2.3版本与Quartz 2.2版本进行整合配置,以便在Spring应用中实现灵活的定时任务管理。 首先,集成Quartz到Spring项目中,我们需要在项目的`pom.xml`或`build.gradle`文件中添加...

    spring+quartz定时小例子

    在 Spring 中配置 Quartz 需要定义一个 `SchedulerFactoryBean`,它负责创建和管理 Quartz 的调度器。通过配置文件(通常是 `applicationContext.xml`),我们可以设置调度器的属性,例如: ```xml ...

    spring+quartz demo

    在 Spring 的配置文件(如 `applicationContext.xml`)中,我们需要引入 Quartz 的配置,并声明一个 `SchedulerFactoryBean` 来实例化和配置 Quartz Scheduler。这通常包括定义数据源、JobDetail 和 Trigger。 2. ...

Global site tag (gtag.js) - Google Analytics