`
shihuan830619
  • 浏览: 584071 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Quartz

    博客分类:
  • J2EE
阅读更多
本文应用版本为quartz-all-1.6.6.jar

CronQuartzJob.java代码如下:
import java.util.Date;

import org.apache.commons.lang3.time.DateFormatUtils;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;

public class CronQuartzJob implements Job {

	public CronQuartzJob() {
		
	}

	public void execute(JobExecutionContext context) throws JobExecutionException {
		System.out.println("In SimpleQuartzJob - executing its JOB at " + DateFormatUtils.format(new Date(), "yyyy-MM-dd") + " by " + context.getTrigger().getName());

	}

}


quartz.properties代码如下:
org.quartz.scheduler.instanceName = ShgfmisScheduler
org.quartz.scheduler.instanceId = shgfmis

org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount = 2
org.quartz.threadPool.threadPriority = 4


# org.quartz.plugin.triggHistory.class = org.quartz.plugins.history.LoggingJobHistoryPlugin
org.quartz.plugin.triggHistory.class = org.quartz.plugins.history.LoggingTriggerHistoryPlugin
# org.quartz.plugin.triggHistory.triggerFiredMessage = Trigger{1}.{0} fired job {6}.{5} at: {4, date, HH:mm:ss MM/dd/yyyy}
# org.quartz.plugin.triggHistory.triggerCompleteMessage = Trigger{1}.{0} completed firing job {6}.{5} at: {4, date, HH:mm:ss MM/dd/yyyy} with resulting trigger instruction code: {9}
org.quartz.plugin.jobInitializer.class = org.quartz.plugins.xml.JobInitializationPlugin
org.quartz.plugin.jobInitializer.fileName = quartz_job.xml

org.quartz.plugin.jobInitializer.overWriteExistingJobs = false
org.quartz.plugin.jobInitializer.failOnFileNotFound = true
org.quartz.plugin.shutdownhook.class = org.quartz.plugins.management.ShutdownHookPlugin
org.quartz.plugin.shutdownhook.cleanShutdown =true


quartz_job.xml代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<quartz>
 <job>

   <job-detail>  
         <name>RunQuartzJob</name>  
          <group>DEFAULT</group>  
          <description>RunQuartzJob</description>  
          <job-class>com.quartz.test.CronQuartzJob</job-class>  
          <volatility>false</volatility>  
          <durability>false</durability>  
          <recover>false</recover>   
      </job-detail>

      <trigger> 
         <cron>
          <name>RunQuartzJobTrigger</name>  
             <group>DEFAULT</group>  
             <description>RunQuartzJobTrigger</description>
             <job-name>RunQuartzJob</job-name>  
             <job-group>DEFAULT</job-group> 
             
             <cron-expression>0/5 * * * * ?</cron-expression>
         </cron>  
      </trigger>
      
 </job>
</quartz>


web.xml中的代码如下:
<?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">

<context-param>
     	<param-name>config-file</param-name>
     	<param-value>/quartz.properties</param-value>
     </context-param>
     <context-param>
     	<param-name>shutdown-on-unload</param-name>
     	<param-value>true</param-value>
     </context-param>
     <context-param>
     	<param-name>start-scheduler-on-load</param-name>
     	<param-value>true</param-value>
     </context-param>
     
     <listener>
     	<listener-class>org.quartz.ee.servlet.QuartzInitializerListener</listener-class>
     </listener>
     
     
     <!--
     <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>
         <init-param>
         	<param-name>start-scheduler-on-load</param-name>
         	<param-value>true</param-value>
         </init-param>
         <load-on-startup>1</load-on-startup>
     </servlet>
     
	
	<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>


【注】:工程中需要的jar如下:

quartz-all-1.6.6.jar

commons-beanutils-1.8.3.jar

commons-collections-3.2.1.jar

commons-configuration-1.6.jar

commons-dbcp-1.4.jar

commons-digester3-3.0.jar

commons-digester-2.1.jar

commons-lang3-3.0.1.jar

commons-logging-1.1.1.jar

commons-modeler-2.0.jar

commons-pool-1.5.6.jar

commons-validator-1.3.1.jar

jms.jar

jms.jar

jta.jar

log4j-1.2.16.jar



附件里实例代码。

----------------------------------------------------------------------
【说明】:上述工程的jar包组在Tomcat6和Jboss4下没问题,但在WebLogic10.3下就会报:
ERROR [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)']: (Digester.java:794) - Digester.getParser:
java.lang.UnsupportedOperationException: This parser does not support specification "null" version "null"
含义:解析XML的文件版本不匹配。
【解决办法】:把上述工程的jar组中的commons-digester3-3.0.jarcommons-digester-2.1.jar删除掉,换成
              commons-digester-1.8.jar即可,原因是WebLogic自带的xml解析器与apache的
              commons-digester-2.1.jar以上的版本冲突,WebLogic不能兼容太高版本的xml解析器。
分享到:
评论
1 楼 javaeyetodj 2012-10-26  
呵呵 感谢楼主,看了你的文章问题解决了!

相关推荐

    quartz quartz-1.8.6 dbTables 建表sql

    Quartz 是一个开源的作业调度框架,广泛应用于Java应用程序中,用于执行定时任务。它提供了丰富的API和灵活性,使得开发者可以方便地定义、安排和管理各种任务。版本1.8.6是Quartz的一个稳定版本,它包含了对数据库...

    quartz-2.2.3版本的quartz初始化sql语句

    Quartz是一款广泛使用的开源任务调度框架,它允许开发者在Java应用程序中定义和执行定时任务。在Quartz 2.2.3版本中,初始化数据库是使用Quartz的关键步骤,因为Quartz依赖于一个持久化存储来保存作业和触发器的信息...

    quartz创建表sql

    Quartz 是一个开源的作业调度框架,广泛应用于Java企业级应用中,用于自动化任务执行,如定时触发工作流、发送邮件、数据同步等。在Quartz的部署和配置过程中,为了存储作业和触发器的信息,我们需要在关系型数据库...

    深入解读Quartz的原理

    ### 深入解读Quartz的原理 #### 一、Quartz概述 Quartz 是一个功能强大且易于使用的 Java 开源定时任务调度器。它能够触发在指定的时间执行任务(通常称为作业)。Quartz 能够满足从简单的到非常复杂的业务场景...

    quartz-2.3.0-API文档-中文版.zip

    赠送jar包:quartz-2.3.0.jar; 赠送原API文档:quartz-2.3.0-javadoc.jar; 赠送源代码:quartz-2.3.0-sources.jar; 赠送Maven依赖信息文件:quartz-2.3.0.pom; 包含翻译后的API文档:quartz-2.3.0-javadoc-API...

    Android studio下的quartz工程

    **Android Studio下的Quartz工程详解** Quartz是一个开源的作业调度框架,广泛应用于Java环境中的任务调度。在Android Studio中使用Quartz,可以为应用程序添加定时执行的任务功能,例如定期发送通知、更新数据或者...

    quartz-2.3.2-API文档-中英对照版.zip

    赠送jar包:quartz-2.3.2.jar; 赠送原API文档:quartz-2.3.2-javadoc.jar; 赠送源代码:quartz-2.3.2-sources.jar; 赠送Maven依赖信息文件:quartz-2.3.2.pom; 包含翻译后的API文档:quartz-2.3.2-javadoc-API...

    quartz_2.3.0 SQL脚本

    Quartz 是一个开源的作业调度框架,广泛应用于Java应用程序中,用于执行定时任务。它允许开发者灵活地定义作业和触发器,实现复杂的时间调度。在2.3.0这个版本中,Quartz 提供了针对不同数据库系统的初始化脚本,...

    quartz scheduler 入门教程

    quartz scheduler 入门教程 Quartz Scheduler 是一种功能丰富、开源的任务调度程序库,可以在任何 Java 程序中使用。它可以用来创建简单或者复杂的执行次数可以达成千上万的任务。任务可以是任何 Java 可以做的事情...

    quartz-2.3.2-API文档-中文版.zip

    赠送jar包:quartz-2.3.2.jar; 赠送原API文档:quartz-2.3.2-javadoc.jar; 赠送源代码:quartz-2.3.2-sources.jar; 赠送Maven依赖信息文件:quartz-2.3.2.pom; 包含翻译后的API文档:quartz-2.3.2-javadoc-API...

    Quartz.net-定时任务 Demo

    Quartz.NET是一款强大的开源作业调度框架,用于在.NET环境中创建和执行定时任务。这个"Quartz.net-定时任务 Demo"示例将展示如何利用Quartz.NET来安排代码在指定时间后执行,比如几十分钟后的场景。 Quartz.NET的...

    quartz 持久化数据库表结构sql

    Quartz 是一个开源的作业调度框架,广泛应用于Java应用程序中,用于执行定时任务。它支持持久化任务和触发器到数据库,确保即使在系统重启后也能恢复先前的任务安排。本篇将详细介绍Quartz如何实现数据库持久化,并...

    Quartz 2.2.2数据库表格脚本

    Quartz 是一个开源的作业调度框架,广泛应用于Java应用程序中,用于执行定时任务。Quartz 2.2.2 版本是其在特定时间的一个稳定版本,它提供了丰富的功能来帮助开发者创建、安排和管理任务。在描述中提到的"数据库...

    quartz动态任务管理

    Quartz是一款开源的作业调度框架,它允许开发者创建、调度和执行各种类型的任务。这个"quartz动态任务管理"源码包很可能是针对Quartz框架的实现,旨在帮助开发者更方便地管理和控制任务的生命周期。 Quartz的核心...

    quartz官方数据库大全

    Quartz是一个功能丰富的开源作业调度库,几乎可以集成在任何Java应用程序中 - 从最小的独立应用程序到最大的电子商务系统。Quartz可用于创建简单或复杂的计划,以执行数十,数百甚至数万个作业; 将任务定义为标准...

    C#Quartz定时任务

    【C# Quartz定时任务】是基于C#编程语言实现的一种定时任务框架,它允许开发者在.NET环境中创建和管理定时任务。这个项目是在Visual Studio 2010开发环境下编写的,提供了一个可以直接运行的示例(demo),方便快速...

    Quartz.NET 调度系统 demo

    前言:8月份翻译了Quartz.NET的官方课程:开源的作业调度框架 - Quartz.NET, 有的朋友抱怨难用,确实,目前Qiartz.NET的最新版本还是0.6,还存在很多bug和不完善的地方。本文使用一系列代码示例介绍 Quartz.NET API...

    Quartz.NET 官方源码及演示例子

    Quartz.NET 是一个开源的作业调度框架,它允许开发者在.NET环境中定义和执行定时任务。这个框架的强大之处在于它的灵活性和可扩展性,使得开发者能够创建复杂的调度逻辑,以满足各种自动化需求。以下是对Quartz.NET...

    Quartz所需jar包

    Quartz是一款开源的作业调度框架,它允许开发者在Java应用程序中定义和执行复杂的定时任务。在Java应用开发中,Quartz常被用来自动化各种后台任务,如数据清理、报告生成等。"Quartz所需jar包"是使用Quartz库进行...

    SpringQuartz的使用文档

    SpringQuartz是一个强大的任务调度框架,它在Java应用程序中用于自动化执行特定任务,如定时生成文件、统计数据或执行后台清理工作。Quartz是开源的,具有高度灵活的调度功能,能够根据预定义的时间表触发任务,同时...

Global site tag (gtag.js) - Google Analytics