`
huangyunzeng
  • 浏览: 29729 次
  • 性别: Icon_minigender_1
  • 来自: 秦皇岛
社区版块
存档分类
最新评论

WEB中使用quartz框架来实现任务的自动处理

阅读更多

1、下载quartz的相应版本(本机是quartz-1.6.5),解压后将quartz-1.6.5.jar以及lib中各个子目录中的jar包加入到工程的lib中,其中有些jar不是必须的,取决于你要使用的功能。

2、编写quartz.properties 文件。

#============================================================================
# Configure Main Scheduler Properties  
#============================================================================
org.quartz.scheduler.instanceName = QuartzScheduler
org.quartz.scheduler.instanceId = AUTO
#============================================================================
# Configure ThreadPool  
#============================================================================
org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount = 5
org.quartz.threadPool.threadPriority = 5
#============================================================================
# Configure JobStore  
#============================================================================
org.quartz.jobStore.misfireThreshold = 60000
org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore
#============================================================================
# Configure Plugins 
#============================================================================
org.quartz.plugin.triggHistory.class = org.quartz.plugins.history.LoggingJobHistoryPlugin
org.quartz.plugin.jobInitializer.class = org.quartz.plugins.xml.JobInitializationPlugin
org.quartz.plugin.jobInitializer.fileNames = jobs.xml
org.quartz.plugin.jobInitializer.overWriteExistingJobs = true
org.quartz.plugin.jobInitializer.failOnFileNotFound = true
org.quartz.plugin.jobInitializer.scanInterval = 10
org.quartz.plugin.jobInitializer.wrapInUserTransaction = false

 3、编写jobs.xml文件.

<?xml version='1.0' encoding='utf-8'?>
<quartz xmlns="http://www.opensymphony.com/quartz/JobSchedulingData"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.opensymphony.com/quartz/JobSchedulingData
  http://www.opensymphony.com/quartz/xml/job_scheduling_data_1_5.xsd"
	version="1.5">
	<job>
		<job-detail>
			<name>HelloWorld</name>
			<group>DEFAULT</group>
			<description>
				A job that just for test       
     		</description>
			<job-class>
				com.stone.quartz.HelloWorld  
    		</job-class>
    		<!-- 易变,活泼 -->
			<volatility>false</volatility>
			<!-- 耐久性 -->
			<durability>false</durability>
			<!-- 恢复性 -->
			<recover>false</recover>
		</job-detail>
		<trigger>
			<simple>
				<name>HelloTrigger1</name>
				<group>DEFAULT</group>
				<job-name>HelloWorld</job-name>
				<job-group>DEFAULT</job-group>
				<start-time>2011-08-30T07:22:36</start-time>
				<!--重复次数 -->
				<repeat-count>-1</repeat-count>
				<!-- 重复时间间隔 -->
				<repeat-interval>10000</repeat-interval>
			</simple>
		</trigger>
	</job>
</quartz>

 4、注意以上两个文件的位置,应该位于工程的src目录下,如果是发布好的工程对应在/WEB-INFO/classes下面。

 5、修改web.xml增加servlet。

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
	<servlet>
		<servlet-name>QuartzInitializer</servlet-name>
		<servlet-class>org.quartz.ee.servlet.QuartzInitializerServlet</servlet-class>
		<init-param>
			<param-name>config-file</param-name>
			<param-value>/quartz.properties</param-value>
		</init-param>
	 <init-param>  
            <param-name>shutdown-on-unload</param-name>  
            <param-value>true</param-value>  
       </init-param>
		<load-on-startup>1</load-on-startup>
	</servlet>
	<welcome-file-list>
		<welcome-file>index.jsp</welcome-file>
	</welcome-file-list>
</web-app>

 5、编写job类。

package com.stone.quartz;

import java.util.Date;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;

public class HelloWorld implements Job {
	private static Log logger = LogFactory.getLog(HelloWorld.class);// 日志记录器

	public void execute(JobExecutionContext context)
			throws JobExecutionException {
		logger.info("Hello World! - " + new Date());
	}
}

 

4、发布并访问工程,看看控制台是不是有正确的打印你的内容呢!

分享到:
评论

相关推荐

    QuartzAPI以及例子

    Quartz.NET是一个开源的作业调度框架,是OpenSymphony 的 Quartz API的.NET移植,它用C#写成,可用于winform和asp.net应用中。它提供了巨大的灵活性而不牺牲简单性。你能够用它来为执行一个作业而创建简单的或复杂的...

    WEB后台管理基础框架

    1、数据库读写分离 2、数据接口直接生成,不用手动单独添加 ...18、quartz定时任务管理 19、@CheckParam自定义检测参数 20、ip+并发控制,加入黑名单机制 21、日志、记录 22、前端使用vue.js、jquery等

    spring in action英文版

     4.2 在Spring中使用JDBC  4.2.1 JDBC代码的问题  4.2.2 使用JdbcTemplate  4.2.3 把操作创建成对象  4.2.4 自增键  4.3 介绍Spring的ORM框架支持  4.4 用Spring整合Hibernate  4.4.1 ...

    Spring in Action(第二版 中文高清版).part2

    16.4.3 在JSF页面中使用Spring Bean 16.4.4 在JSF中暴露应用程序环境 16.5 Spring中带有DWR的支持Ajax的应用程序 16.5.1 直接Web远程控制 16.5.2 访问Spring管理的Bean DWR 16.6 小结 附录A 装配Spring A.1 ...

    Spring in Action(第二版 中文高清版).part1

    16.4.3 在JSF页面中使用Spring Bean 16.4.4 在JSF中暴露应用程序环境 16.5 Spring中带有DWR的支持Ajax的应用程序 16.5.1 直接Web远程控制 16.5.2 访问Spring管理的Bean DWR 16.6 小结 附录A 装配Spring A.1 ...

    Spring中文帮助文档

    6.8.1. 在Spring中使用AspectJ进行domain object的依赖注入 6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来配置AspectJ的切面 6.8.4. 在Spring应用中使用AspectJ加载时织入(LTW) 6.9. 更多资源 7...

    Spring.3.x企业应用开发实战(完整版).part2

    13.3 在Spring中使用Quartz 13.3.1 创建JobDetail 13.3.2 创建Trigger 13.3.3 创建Scheduler 13.4 Spring中使用JDK Timer 13.4.1 Timer和TimerTask 13.4.2 Spring对JDK Timer的支持 13.5 Spring对JDK 5.0 Executor的...

    Spring in Action(第2版)中文版

    16.4.3在jsf页面中使用springbean 16.4.4在jsf中暴露应用程序环境 16.5spring中带有dwr的支持ajax的应用程序 16.5.1直接web远程控制 16.5.2访问spring管理的beandwr 16.6小结 附录a装配spring a.1下载spring ...

    Spring3.x企业应用开发实战(完整版) part1

    13.3 在Spring中使用Quartz 13.3.1 创建JobDetail 13.3.2 创建Trigger 13.3.3 创建Scheduler 13.4 Spring中使用JDK Timer 13.4.1 Timer和TimerTask 13.4.2 Spring对JDK Timer的支持 13.5 Spring对JDK 5.0 Executor的...

    Spring-Reference_zh_CN(Spring中文参考手册)

    6.8.1. 在Spring中使用AspectJ来为domain object进行依赖注入 6.8.1.1. @Configurable object的单元测试 6.8.1.2. 多application context情况下的处理 6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来...

    Spring API

    6.8.1. 在Spring中使用AspectJ进行domain object的依赖注入 6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来配置AspectJ的切面 6.8.4. 在Spring应用中使用AspectJ加载时织入(LTW) 6.9. 更多资源 7...

    Spring 2.0 开发参考手册

    6.8.1. 在Spring中使用AspectJ来为domain object进行依赖注入 6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来配置AspectJ的切面 6.8.4. 在Spring应用中使用AspectJ Load-time weaving(LTW) 6.9. ...

    xxl-job:xxl-job二次开发 定时任务,增加API接口添加任务、删除任务等操作

    XXL-JOB是一个轻量级分布式任务调度框架,其核心设计目标是开发Swift、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。 Documentation 二次开发内容 1、数据库连接池修改为druid 2、...

    spring chm文档

    6.8.1. 在Spring中使用AspectJ来为domain object进行依赖注入 6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来配置AspectJ的切面 6.8.4. 在Spring应用中使用AspectJ Load-time weaving(LTW) 6.9. ...

    spring jar 包详解

    (1) spring-core.jar 这个jar文件包含Spring框架基本的核心工具类,Spring其它组件要都要使用到这个包里的类,是其它组件的基本核心,当然你也可以在自己的应用系统中使用这些工具类。 (2) spring-beans.jar 这个...

    Java源码 SpringMVC Mybatis Shiro Bootstrap Rest Webservice

    项目Maven构建,真实大型互联网架构,做到高并发,大数据处理,整个项目使用定制化服务思想,提供模块化、服务化、原子化的方案,将功能模块进行拆分,可以公用到所有的项目中。架构采用分布式部署架构,所有模块...

    SpringBoot + Mysql 博客管理系统【前端+后台】.rar

    * 在线新增数据库并直接生成 前,后台基本源码,放到源码相应目录中重启tomcat可直接使用,预览 * 系统定时任务的新增改查 立即启动 暂停 恢复 ## 技术框架 * 核心框架:`SpringBoot` * 安全框架:`...

    spring4.1核心包

    包含Web应用开发时,用到Spring框架时所需的核心类,包括自动载入WebApplicationContext特性的类、Struts与JSF集成类、文件上传的支持类、Filter类和大量工具辅助类。 18. spring-webmvc-4.1.1.RELEASE.jar 包含...

    spring-boot示例项目

    该项目包含helloworld(快速入门)、web(ssh项目快速搭建)、aop(切面编程)、data-redis(redis缓存)、quartz(集群任务实现)、shiro(权限管理)、oauth2(四种认证模式)、shign(接口参数防篡改重放)、encoder(用户...

    最新最全的spring开发包

    这个jar文件包含Spring框架基本的核心工具类,Spring其它组件要都要使用到这个包里的类,是其它组件的基本核心,当然你也可以在自己的应用系统中使用这些工具类。 (2) spring-beans.jar 这个jar文件是所有应用都要...

Global site tag (gtag.js) - Google Analytics