`
lxwt909
  • 浏览: 572864 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Quartz入门

阅读更多

       Quartz是一个完全由Java编写的开源作业调度框架,当你想实现定时做些事情的时候,它就派上用场啦!目前Quartz比较稳定的版本是2.2.1,所以我这里就以这个版本为例,如果你使用Quartz2.x系列,那你的Spring版本必须3.1版本及以上(假如你需要将Quartz跟Spring整合的话),Quartz并不一定需要跟Spring整合哈,它完全可以脱离Spring单独工作,只是Spring目前太流行,所以大家都喜欢将其他框架往Spring里整合。

      下面是Quartz的一个入门级别的简单示例:

       applicationContext-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:mvc="http://www.springframework.org/schema/mvc"
	xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context"
	xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
	xsi:schemaLocation="http://www.springframework.org/schema/beans   
             http://www.springframework.org/schema/beans/spring-beans-3.1.xsd   
             http://www.springframework.org/schema/context    
             http://www.springframework.org/schema/context/spring-context-3.1.xsd   
             http://www.springframework.org/schema/aop    
             http://www.springframework.org/schema/aop/spring-aop-3.1.xsd   
             http://www.springframework.org/schema/tx    
             http://www.springframework.org/schema/tx/spring-tx-3.1.xsd   
             http://www.springframework.org/schema/mvc    
             http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd   
             http://www.springframework.org/schema/context    
             http://www.springframework.org/schema/context/spring-context-3.1.xsd"
	default-autowire="byName" default-lazy-init="true">

	<bean id="taskJob" class="com.yida.framework.test.FirstJob" />
	<bean id="jobDetail"
		class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
		<property name="group" value="job_work" />
		<property name="name" value="job_work_name" />
		<!--false表示等上一个任务执行完后再开启新的任务 -->
		<property name="concurrent" value="false" />
		<property name="targetObject">
			<ref bean="taskJob" />
		</property>
		<property name="targetMethod">
			<value>run</value>
		</property>
	</bean>
	<!-- 调度触发器 -->
	<bean id="myTrigger"
		class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
		<property name="name" value="work_default_name" />
		<property name="group" value="work_default" />
		<property name="jobDetail">
			<ref bean="jobDetail" />
		</property>
		<property name="cronExpression">
			<value>0/3 * * * * ?</value>
		</property>
	</bean>
	<!-- 调度工厂 -->
	<bean id="scheduler" autowire="no"
		class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
		<property name="triggers">
			<list>
				<ref bean="myTrigger" />
			</list>
		</property>
	</bean>
</beans>

   

    web.xml里配置加载spring的相关配置文件:

<?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>contextConfigLocation</param-name>
		<param-value>
			classpath:/com/yida/framework/base/config/spring/application*.xml
		</param-value>
	</context-param>

    编写一个简单的任务测试类:

package com.yida.framework.test;

public class FirstJob {
	public void run(String[] args) {
		System.out.println("我的第一个测试任务。");
	}
}

    最后部署你的项目,启动tomcat,任务就会自动执行啦!

      

分享到:
评论

相关推荐

    quartz实例,quartz入门例子

    在这个Quartz入门例子中,可能包含了一个名为`QuarzTest`的类或配置文件,它是实际运行的入口。通过分析和运行这个例子,你可以了解到如何在Spring中配置和使用Quartz,以及如何创建和调度Job。 学习Quartz时,你...

    Quartz入门学习(真丶入门)

    二、Quartz入门 1. **创建作业**:首先,你需要创建一个实现了`org.quartz.Job`接口的类,这个类就是你的任务逻辑。在`execute()`方法中编写实际的业务代码。 2. **定义触发器**:接着,定义一个触发器,设置执行...

    quartz入门共3页.pdf.zip

    通过阅读 "quartz入门共3页.pdf",你将能够快速了解 Quartz 的基本概念和用法,为实际项目开发打下基础。文件可能涵盖了 Quartz 的安装、基本示例、API 使用方法等内容,帮助你快速上手并掌握这个强大的任务调度库。

    Quartz入门教程

    "Quartz入门.html"这个文档可能详细介绍了如何设置和启动一个简单的Quartz调度程序。通常,你需要创建一个Job类,该类实现了`org.quartz.Job`接口,并重写了`execute`方法,这是实际执行的任务逻辑。然后,你可以...

    Quartz入门案例

    在"Quartz入门案例"中,我们通常会首先创建一个Job类,该类实现了`org.quartz.Job`接口。这个接口只有一个方法`execute(JobExecutionContext context)`,我们在其中编写实际的任务逻辑。例如: ```java public ...

    quartz入门demo

    【标题】"Quartz入门Demo"是一个非常适合初学者的实践项目,它旨在引导开发者了解和掌握Quartz这个强大的任务调度框架。Quartz是Java平台上广泛使用的开源任务调度库,能够帮助开发者实现应用程序中的定时任务执行。...

    Quartz入门到精通 中文WORD版.rar

    Quartz是一个开源的作业调度框架,它完全由Java写成,并设计用于J2SE和J2EE应用中。它提供了巨大的灵活性而不牺牲简单性。你能够用它来为执行一个作业而创建简单的或复杂的调度。它有很多特征,如:数据库支持,集群...

    quartz入门例子,spring集成配置使用

    Spring集成quartz跑定时任务实例 自己写的例子并为实现job 有测试的主函数,请参考...springCon.quartz文件夹下 为对上诉博客理解透彻 结合spring看其配置的相关信息 就可以明白。

    Quartz如何从入门到精通.pdf

    Quartz入门到精通 Quartz是一个开源的作业调度框架,它完全由Java写成,并设计用于J2SE和J2EE应用中。它提供了巨大的灵活性而不牺牲简单性。你能够用它来为执行一个作业而创建简单的或复杂的调度。它有很多特征,如...

    开源定时器quartz入门

    NULL 博文链接:https://aiien007.iteye.com/blog/2105833

    quartz入门用法

    简单介绍quartz用法,介绍quartz用法步骤

    quartz案例,包括spring配置设置调度器和入门手册

    3. **Quartz入门** - **创建Job类**:你需要创建一个实现了`org.quartz.Job`接口的类,这个类定义了具体要执行的任务。 - **定义Trigger**:你可以选择不同的`Trigger`类型,如SimpleTrigger或CronTrigger,来决定...

    Quartz所需jar包

    在《Quartz入门》文档中,通常会详细讲解如何配置Quartz,包括XML配置、代码配置,以及如何处理并发问题、异常处理和集群部署。确保阅读并理解这些内容,以便更好地在实际项目中应用Quartz。 总之,Quartz是一个...

    Srping Quartz 资料多多

    "Quartz入门与提高1.ppt"可能是一个幻灯片教程,涵盖了从基础到进阶的Quartz使用。"定时任务Test.rar"可能包含了一些测试用例或示例代码,有助于理解实际应用场景。"网站地址.txt"可能提供了更多资源链接,而"quartz...

Global site tag (gtag.js) - Google Analytics