简单的使用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上下载源代码:
相关推荐
整合Spring3.0+quartz-2.1.6 ..............................................................................
Spring 3.0 和 Quartz ...首先,你需要在Spring配置文件中声明一个`SchedulerFactoryBean`,这将初始化并管理Quartz调度器。然后,通过定义`JobDetail`和`Trigger`,你可以将Spring的bean作为任务来调度。 ```xml ...
这个压缩包“spring3.0 + Quartz1.52 + applicationContext.xml”显然是一个关于如何在Spring 3.0环境中集成Quartz 1.52版本的示例或教程资源。 首先,`applicationContext.xml`是Spring框架的核心配置文件,它定义...
java + quartz实现定时任务,实现集群配置,在集群环境下多节点运行定时Quartz定任务,就会存在重复处理任务的现象,为解决这一问题,下面我将介绍使用 Quartz 的 TASK ( 12 张表)实例化到数据库,基于数据库自动...
在IT行业中,构建高效、可扩展的Web应用是至关重要的,而"spring+springMVC+mybatis+quartz动态定时任务创建"就是一个常见的技术栈,用于实现这样的目标。这个组合充分利用了各组件的优势,提供了强大的后端服务支持...
本项目就是基于Spring MVC、Mybatis、Quartz和Swagger实现的一个定时任务管理系统,旨在提供一种灵活且可配置的方式来管理和控制定时任务。下面将详细讲解这个系统的核心组成部分及其工作原理。 首先,Spring MVC是...
这些资源可能包括Quartz的Job类定义、Spring Boot的配置文件(application.properties或application.yml)、数据库模型和迁移脚本、以及用于演示动态管理任务的控制器和服务类代码。开发者可以研究这些文件,了解...
里面包含了两个工程项目: 1.Java project工程(含jar包,JDK1.6)。 是spring+quartz的任务调度实例。 2.Java web工程(含jar包,JDK1.7)。 spring+mybatis+quartz任务调度实例
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
4. 注册Job和Trigger:在Spring配置文件中注册Job和Trigger,将Job与Trigger关联,指定触发条件。 5. Spring MVC控制器:创建Spring MVC的Controller,提供管理任务的接口,如启动、暂停、立即执行和重新调度任务。...
这是一个基于Spring Boot、Apache Shiro、Spring MVC、MyBatis、Quartz和Druid的数据源管理框架的示例项目,名为"renren-security"。这个DEMO提供了完整的权限管理和任务调度解决方案,下面是这些技术栈的核心知识点...
在提供的压缩包"spring4+hibernate5+quartz2+hdfs.rar"中,可能包含了配置文件、Java源代码、数据库连接设置等,用户只需提供自己的JDBC连接信息,即可快速部署和运行这个整合系统。通过解压并研究这些文件,开发者...
2. **Spring配置文件**:在Spring的XML配置文件中,我们需要声明一个`SchedulerFactoryBean`,它是Spring对Quartz调度器的封装。通过这个bean,我们可以配置Quartz的相关属性,如JobStore类型(内存或数据库存储),...
要在Spring和Quartz中实现集群,需要配置Quartz的集群参数,如jobStoreIsClustered设为true,设置database连接信息,以及确保所有节点使用相同的schedulerInstanceId。同时,数据库表也需要按照Quartz的要求进行...
【标题】"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...
Spring3.2.4 + Quartz2.2.0集成实例 可参考http://blog.csdn.net/liangbinny/article/details/17284691
本篇文章将详细介绍如何将Spring 3.2.3版本与Quartz 2.2版本进行整合配置,以便在Spring应用中实现灵活的定时任务管理。 首先,集成Quartz到Spring项目中,我们需要在项目的`pom.xml`或`build.gradle`文件中添加...
在 Spring 中配置 Quartz 需要定义一个 `SchedulerFactoryBean`,它负责创建和管理 Quartz 的调度器。通过配置文件(通常是 `applicationContext.xml`),我们可以设置调度器的属性,例如: ```xml ...
在 Spring 的配置文件(如 `applicationContext.xml`)中,我们需要引入 Quartz 的配置,并声明一个 `SchedulerFactoryBean` 来实例化和配置 Quartz Scheduler。这通常包括定义数据源、JobDetail 和 Trigger。 2. ...