`
huangyunzeng
  • 浏览: 30423 次
  • 性别: 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、发布并访问工程,看看控制台是不是有正确的打印你的内容呢!

分享到:
评论

相关推荐

    Quartz 定时任务web使用

    Quartz 是一个开源的作业调度框架,常用于Java应用程序中实现定时任务的管理。它提供了丰富的API和功能,使得开发者可以灵活地定义和控制任务的执行。本篇将重点介绍如何在Web环境中集成并使用Quartz,以及相关的...

    ASP.NET使用Quartz.NET实现定时任务调度

    总的来说,使用ASP.NET、Quartz.NET和TopShelf的组合,开发者可以构建出一个高效、稳定且易于维护的任务调度系统,对于需要后台自动化处理的工作场景,这是一种非常实用的解决方案。在实际应用中,可以根据具体需求...

    WEB管理的Quartz定时任务

    在Web管理的Quartz定时任务中,我们通常会结合SpringMVC和MyBatis来构建一个完善的后台管理系统,以便于管理和监控定时任务。下面将详细介绍这个系统的组成部分和实现方式。 **1. Quartz简介** Quartz是Java平台上...

    基于SSM+quartz的定时任务管理demo

    SpringBoot提供了对Quartz的自动配置,只需添加相关依赖,配置文件中设置一些属性,即可快速启动定时任务服务。 **8. 管理界面** 为了方便管理和监控定时任务,可以开发一个Web界面,利用Quartz提供的API查询Job和...

    Quartz.net作业调度自定义定时执行任务多任务执行c#

    在"Quartz.net作业调度自定义定时执行任务多任务执行c#"这个主题中,我们将深入探讨如何使用Quartz.NET来实现自定义的定时任务,以及如何处理多任务执行。 首先,我们需要理解Quartz.NET的基本概念。在Quartz.NET中...

    ssm集成quartz完成定时任务

    总的来说,"ssm集成quartz完成定时任务"是一个将企业级任务调度能力与Java Web开发相结合的实例,通过这个项目,开发者可以学习如何在SSM环境中有效地管理和执行定时任务,提升系统的自动化水平。

    springmvc中实现quartz定时任务

    在Spring MVC框架中集成Quartz定时任务是一项常见的需求,它允许开发者在特定时间点执行一些周期性的业务逻辑。Quartz是一个强大的、完全开源的作业调度框架,可以与Java应用程序无缝结合,提供灵活的任务调度功能。...

    quartz单机和WEB应用

    Quartz是一款开源的作业调度框架,它允许开发者创建、组织和执行定时任务。在Web应用程序中集成...例如,了解如何创建自定义Job、Trigger类型,如何处理并发任务,以及如何在分布式环境中使用Quartz实现集群调度等。

    quartz定时任务,在web项目中的使用方法

    在Web项目中使用Quartz,可以实现后台任务的自动化执行,比如数据同步、日志清理、发送邮件等,无需用户手动触发。下面将详细介绍如何在Web项目中集成和使用Quartz。 1. **集成Quartz** - 首先,你需要在项目中...

    quartz动态添加、修改和删除定时任务

    在Java应用程序中,Quartz常被用来实现后台任务的自动化执行,比如数据同步、日志清理、发送邮件等。本教程将详细介绍如何动态地在Quartz中添加、修改和删除定时任务,以实现灵活的任务控制。 首先,我们需要理解...

    springboot与quartz框架整合

    SpringBoot和Quartz框架整合是企业级应用中常见的任务调度解决方案。SpringBoot以其简洁的配置、自动配置特性以及对各种Spring生态的友好支持,成为快速开发微服务的首选框架。而Quartz则是一个强大且灵活的开源作业...

    Spring+Quartz实现任务调度的小例子

    Spring框架和Quartz是两个广泛使用的工具,它们可以协同工作以实现复杂和灵活的任务调度。本篇文章将深入探讨如何使用Spring与Quartz结合来创建一个任务调度的小例子。 首先,Spring是一个开源的Java企业级应用开发...

    quartz任务调度框架简单实用小demo

    - 最后,启动Scheduler,`scheduler.start()`,Quartz将根据配置自动执行任务。 3. **Quartz配置** - Quartz可以通过XML配置文件或代码动态配置。在项目中,可能需要配置JobStore(如RAMJobStore、JDBCJobStore)...

    spring+quartz实现定时任务动态管理

    在项目中,我们可以通过编写实现`org.springframework.scheduling.quartz.JobDetailBean`的类来定义一个任务,然后通过`org.springframework.scheduling.quartz.CronTriggerBean`或`org.springframework.scheduling....

    基于springboot创建的web项目整合Quartz框架的代码

    在本文中,我们将深入探讨如何将Quartz框架整合到基于Spring Boot的Web项目中。Quartz是一个开源的作业调度框架,允许开发人员安排任务并在指定时间执行。Spring Boot以其简化配置和快速启动特性,已经成为Java Web...

    使用Quartz实现定时功能

    在Web应用中使用Quartz,通常需要进行额外的配置。例如,可以通过配置`web.xml`文件来初始化Quartz。 1. **QuartzInitializerServlet**:通过`servlet`元素进行配置。 ```xml &lt;servlet-name&gt;QuartzInitializer ...

    springboot+quartz 动态化配置定时任务

    SpringBoot结合Quartz框架,可以实现灵活且高效的定时任务管理。本教程将深入探讨如何在SpringBoot项目中实现Quartz的动态化配置,允许在页面上进行查看、添加、修改、删除以及暂停等操作。 一、SpringBoot与Quartz...

    springboot+quartz 定时处理数据任务

    本文将详细解析如何利用SpringBoot和Quartz框架构建一个定时处理数据任务的项目,以及如何根据实际需求进行修改和扩展。 首先,SpringBoot是一个流行的Java微服务框架,它简化了Spring应用程序的开发过程,提供了...

    web工程quartz的配置实例

    在Web工程中使用Quartz,首先需要将其依赖库添加到项目中。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml &lt;groupId&gt;org.quartz-scheduler &lt;artifactId&gt;quartz &lt;version&gt;2.x.x&lt;/version&gt; &lt;!...

Global site tag (gtag.js) - Google Analytics