quartz2.2.1.jar下載 最新更新|軟件分類|軟件專題|手機版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當(dāng)前所在位置: 首頁編程開發(fā)編程輔助 → quartz.jar(包括doc) v2.2.1 完整版

quartz.jar(包括doc)

v2.2.1 完整版

quartz.jar(包括doc)下載
  • 軟件大?。?span itemprop="fileSize">4.41 MB
  • 軟件語言:中文
  • 軟件類型:國產(chǎn)軟件 / 編程輔助
  • 軟件授權(quán): 免費軟件
  • 更新時間:2017-07-03 10:04:30
  • 軟件等級:4星
  • 軟件廠商: -
  • 應(yīng)用平臺:WinXP, Win7, Win8, Win10
  • 軟件官網(wǎng):

ITMOP本地下載文件大?。?.41 MB

點贊 好評 0%(0) 差評 差評 0%(0)

相關(guān)軟件

軟件介紹人氣軟件精品推薦相關(guān)文章網(wǎng)友評論下載地址

小編為您推薦: quartz jar包

quartz2.2.1.jar是一款用于java調(diào)度框架quartz最經(jīng)典好用版本2.2.1的jar包,包含了doc以及相關(guān)的jar包,可以讓編程開發(fā)人員更加優(yōu)質(zhì)便捷的進(jìn)行相關(guān)的工作,有需要的朋友就來IT貓撲下載吧!

Quartz簡介

一個完全由java編寫的開源作業(yè)調(diào)度框架。不要讓作業(yè)調(diào)度這個術(shù)語嚇著你。盡管Quartz框架整合了許多額外功能, 但就其簡易形式看,你會發(fā)現(xiàn)它易用得簡直讓人受不了!。簡單地創(chuàng)建一個實現(xiàn)org.quartz.Job接口的java類。Job接口包含唯一的方法:

public void execute(JobExecutionContext context)

throws JobExecutionException;

在你的Job接口實現(xiàn)類里面,添加一些邏輯到execute()方法。一旦你配置好Job實現(xiàn)類并設(shè)定好調(diào)度時間表,Quartz將密切注意剩余時間。當(dāng)調(diào)度程序確定該是通知你的作業(yè)的時候,Quartz框架將調(diào)用你Job實現(xiàn)類(作業(yè)類)上的execute()方法并允許做它該做的事情。無需報告任何東西給調(diào)度器或調(diào)用任何特定的東西。僅僅執(zhí)行任務(wù)和結(jié)束任務(wù)即可。如果配置你的作業(yè)在隨后再次被調(diào)用,Quartz框架將在恰當(dāng)?shù)臅r間再次調(diào)用它。

Quartz2.2.1在JAVA中的簡單用法

新建一個WebProject工程項目。注意:項目的jdk版本必須在1.6以上,才能支持Quartz2.2.1,不然會報錯,版本不支持。。

quartz2.2.1.jar

引入解壓Quartz2.2.1.zip之后所得到的6個jar包文件,這里簡單的說明一下:除了第一個jar(c3p0-0.9.1.1.jar)可以不用引入,這個jar包貌似是數(shù)據(jù)庫連接池所需要的jar包,反正暫時都沒怎么用到,不過還是建議都引入進(jìn)項目中以免報錯。因為官方下載下來就有,應(yīng)該是quartz框架集成中有用到這個jar中的某些功能,其他的都需要引入到項目中來,大家可以親自試一試,先一個一個的加到項目中,看看分別會報什么錯,

quartz2.2.1.jar

編寫任務(wù)調(diào)度工具類

package com.common;

import org.quartz.Job;

import org.quartz.JobBuilder;

import org.quartz.JobDetail;

import org.quartz.Scheduler;

import org.quartz.SchedulerException;

import org.quartz.SchedulerFactory;

import org.quartz.SimpleScheduleBuilder;

import org.quartz.Trigger;

import org.quartz.TriggerBuilder;

import org.quartz.impl.StdSchedulerFactory;

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

import com.job.TestJobOne;

import com.job.TestJobTwo;

/**

* 任務(wù)調(diào)度公共類

* @remark

* @author feizi

* @time 2015-3-23下午3:04:12

*/

public class QuartzUtil {

private final static String JOB_GROUP_NAME = "QUARTZ_JOBGROUP_NAME";//任務(wù)組

private final static String TRIGGER_GROUP_NAME = "QUARTZ_TRIGGERGROUP_NAME";//觸發(fā)器組

private static Logger log = LoggerFactory.getLogger(QuartzUtil.class);//日志

/**

* 添加任務(wù)的方法

* @param jobName ?任務(wù)名

* @param triggerName ?觸發(fā)器名

* @param jobClass ?執(zhí)行任務(wù)的類

* @param seconds ?間隔時間

* @throws SchedulerException

*/

public static void addJob(String jobName,String triggerName,Class jobClass,int seconds) throws SchedulerException{

log.info("==================initialization=================");

//創(chuàng)建一個SchedulerFactory工廠實例

SchedulerFactory sf = new StdSchedulerFactory();

//通過SchedulerFactory構(gòu)建Scheduler對象

Scheduler sche = sf.getScheduler();

log.info("===================initialize finshed===================");

log.info("==============add the Job to Scheduler==================");

//用于描敘Job實現(xiàn)類及其他的一些靜態(tài)信息,構(gòu)建一個作業(yè)實例

JobDetail jobDetail = JobBuilder.newJob(jobClass)

.withIdentity(jobName, JOB_GROUP_NAME)

.build();

//構(gòu)建一個觸發(fā)器,規(guī)定觸發(fā)的規(guī)則

Trigger trigger = TriggerBuilder.newTrigger()//創(chuàng)建一個新的TriggerBuilder來規(guī)范一個觸發(fā)器

.withIdentity(triggerName, TRIGGER_GROUP_NAME)//給觸發(fā)器起一個名字和組名

.startNow()//立即執(zhí)行

.withSchedule(

SimpleScheduleBuilder.simpleSchedule()

.withIntervalInSeconds(seconds)//時間間隔 ?單位:秒

.repeatForever()//一直執(zhí)行

)

.build();//產(chǎn)生觸發(fā)器

//向Scheduler中添加job任務(wù)和trigger觸發(fā)器

sche.scheduleJob(jobDetail, trigger);

//啟動

sche.start();

}

/**

* 測試

* @param args

*/

public static void main(String[] args) {

try {

//添加第一個任務(wù) ?每隔10秒執(zhí)行一次

QuartzUtil.addJob("job1", "trigger1", TestJobOne.class, 2);

//添加第二個任務(wù) ?每隔20秒執(zhí)行一次

QuartzUtil.addJob("Job2", "trigger2", TestJobTwo.class, 5);

} catch (SchedulerException e) {

e.printStackTrace();

}

}

}

編寫實際任務(wù)執(zhí)行類,執(zhí)行實際的業(yè)務(wù)操作

任務(wù)一

package com.job;

import org.quartz.Job;

import org.quartz.JobExecutionContext;

import org.quartz.JobExecutionException;

/**

* 實際執(zhí)行任務(wù)的業(yè)務(wù)類,需要實現(xiàn)Job接口

* @remark

* @author feizi

* @time 2015-3-23下午2:48:57

*/

public class TestJobOne implements Job {

/**

* 執(zhí)行任務(wù)的方法

*/

public void execute(JobExecutionContext context) throws JobExecutionException {

System.out.println("================執(zhí)行任務(wù)一....");

//do more...這里可以執(zhí)行其他需要執(zhí)行的任務(wù)

}

}

任務(wù)二

package com.job;

import org.quartz.Job;

import org.quartz.JobExecutionContext;

import org.quartz.JobExecutionException;

/**

* 實際執(zhí)行任務(wù)的業(yè)務(wù)類,需要實現(xiàn)Job接口

* @remark

* @author feizi

* @time 2015-3-23下午2:49:46

*/

public class TestJobTwo implements Job {

/**

* 執(zhí)行任務(wù)的方法

*/

public void execute(JobExecutionContext context) throws JobExecutionException {

System.out.println("================執(zhí)行任務(wù)二....");

//do more...這里可以執(zhí)行其他需要執(zhí)行的任務(wù)

}

}

在任務(wù)調(diào)度工具類QuartzUtil中寫個main方法測試一下。

quartz2.2.1.jar

之后運行QuartzUtil類中的main測試方法。

quartz2.2.1.jar

上面的任務(wù)調(diào)度的入口是在main方法里面啟動的,是通過手動執(zhí)行的方式開啟任務(wù)的,但是實際的項目在運行中不可能說通過這種手動方式去調(diào)用,那么我們必須在項目中找到一個入口來啟動這個任務(wù),我這里使用的是通過在一個Servlet的初始化方法中去啟動這個任務(wù),因為根據(jù)Servlet的生命周期,在Tomcat容器啟動之后,就會去Web.xm文件中去加載Servlet,然后調(diào)用Servlet的初始化方法,并且只運行一次。

編寫Servlet類:

package com.servlet;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import org.quartz.SchedulerException;

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

import com.common.QuartzUtil;

import com.job.TestJobOne;

import com.job.TestJobTwo;

public class InitServlet extends HttpServlet {

private static final long serialVersionUID = -5652071148837106939L;

private Logger log = LoggerFactory.getLogger(InitServlet.class);

/**

* 因為我們不需要處理請求與響應(yīng)的消息操作,所以這個地方只留一個初始化的操作就行了,用以執(zhí)行任務(wù)調(diào)度的入口

*/

public void init() throws ServletException {

log.info("==================啟動InitServlet...");

try {

//添加第一個任務(wù) ?每隔2秒執(zhí)行一次

QuartzUtil.addJob("job1", "trigger1", TestJobOne.class, 2);

//添加第二個任務(wù) ?每隔5秒執(zhí)行一次

QuartzUtil.addJob("Job2", "trigger2", TestJobTwo.class, 5);

} catch (SchedulerException e) {

e.printStackTrace();

}

}

}

在web.xml文件中注冊Servlet,這里的0Servlet啟動優(yōu)先級也可以不用做調(diào)整,因為這個例子里面只有一個Servlet,但是如果項目中有多個Servlet的話 可以通過設(shè)置這個值調(diào)整Servlet的啟動優(yōu)先級順序。

web.xml

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">

InitServlet

com.servlet.InitServlet

0

InitServlet

/InitServlet

index.jsp

啟動Tomcat容器,查看控制臺:

quartz2.2.1.jar

更多>> 軟件截圖

推薦應(yīng)用

    其他版本下載

      精品推薦 jar包

      jar包
      更多 (132個) >> jar包 JAR(Java Archive,Java歸檔文件)是與平臺無關(guān)的文件格式,它允許將許多文件組合成一個壓縮文件.為J2EE應(yīng)用程序創(chuàng)建的JAR文件是EAR文件(企業(yè)JAR文件).JAR文件格式以流行的ZIP文件格式為基礎(chǔ).與ZIP文件不同的是,JAR文件不僅用于壓縮和發(fā)布,而且還

      相關(guān)文章

      下載地址

      • quartz.jar(包括doc) v2.2.1 完整版

      查看所有評論>> 網(wǎng)友評論

      發(fā)表評論

      (您的評論需要經(jīng)過審核才能顯示) 網(wǎng)友粉絲QQ群號:374962675

      查看所有 0條 評論>>

      更多>> 猜你喜歡