`

quartz Job 任务定时器小结

阅读更多
最近接到了一个需求,要求在指定时间执行不同任务。上网找了一些资料发现Quartz是一款很不错的插件。这里简单把自己写好的定时分享下。

1.需求执行任务 Task1

package com.zldigital.mobilevoice.util;

import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.junit.Test;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.scheduling.quartz.QuartzJobBean;

public class Task1 extends QuartzJobBean{

	private static final long serialVersionUID = 1L;	

	@Override@Test
	protected void executeInternal(JobExecutionContext arg0)throws JobExecutionException {
		    System.out.println("任务1开始了");     
		}
	}
}



2.需求执行任务 Task2
package com.zldigital.mobilevoice.util;

import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.junit.Test;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.scheduling.quartz.QuartzJobBean;

public class Task2 extends QuartzJobBean{

	private static final long serialVersionUID = 1L;	

	@Override@Test
	protected void executeInternal(JobExecutionContext arg0)throws JobExecutionException {
		    System.out.println("任务2开始了");     
		}
	}
}




quartz 配置文件这里分别在不同的时间内执行不同的任务。


<?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:jee="http://www.springframework.org/schema/jee"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:p="http://www.springframework.org/schema/p"
	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-2.5.xsd
       http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
       http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-2.5.xsd
       http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
       http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">


<!-- Task1  -->

	<bean name="job" class="org.springframework.scheduling.quartz.JobDetailBean">
		<property name="jobClass">
                        <!--执行任务的路径-->
			<value>com.zldigital.mobilevoice.util.Task1</value>
		</property>
	</bean>

	<bean id="cronTrigger"
		class="org.springframework.scheduling.quartz.CronTriggerBean">
		<property name="jobDetail">
			<ref bean="job" />
		</property>
		<property name="cronExpression">
                        <!--执行时间 5:28:01-->
			<value>01 28 17 * * ?</value>
			<!--  <value>0-1 59 23 * * ?</value>-->
		</property>
	</bean>
	
	
	
	
<!-- Task2 -->	 

	 <bean name="job1" class="org.springframework.scheduling.quartz.JobDetailBean">
		<property name="jobClass">
			<value>com.zldigital.mobilevoice.util.Task2</value>
		</property>			
	</bean>

	<bean id="cronTrigger1"
		class="org.springframework.scheduling.quartz.CronTriggerBean">
		<property name="jobDetail">
			<ref bean="job1" />
		</property>
		<property name="cronExpression">
			<value>01 23 17 * * ?</value>
		</property>
	</bean>


<!-- 任务列表 -->

	<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
		<!-- property name="concurrent" value="false"/-->
		<property name="triggers">
			<list>	
                                <!-- 列表中需要执行的任务-->			
				<ref local="cronTrigger" />
				<ref local="cronTrigger1" />
			</list>
		</property>
	</bean>

</beans>


这里只是简单的配置了下,更高深的配置还需求慢慢探究。希望各位能给些建议!
分享到:
评论

相关推荐

    java quartz job定时器

    demo中主要实现了两点问题。 ...使用了quartz-all-1.6.3.jar log4j-1.2.13.jar jta-spec1_0_1.jar commons-digester-1.8.jar commons-collections.jar commons-beanutils-1.7.0.jar这些支持jar包。

    Quartz 插件类型定时器的使用方法

    2. **Job**:Job代表一个需要执行的任务,它是实现了`org.quartz.Job`接口的类。Job不包含任何调度信息,只定义了执行逻辑。 3. **Trigger**:Trigger是触发Job执行的对象,它定义了Job何时以及如何被调度。Trigger...

    quartz+spring定时器

    【标题】"quartz+spring定时器"涉及的是在Java应用中使用Spring框架与Quartz库来实现定时任务的管理。Quartz是一个开源的作业调度框架,它允许开发者定义、调度和执行作业,而Spring则提供了强大的依赖注入(DI)和...

    【quartz动态定时任务】项目实例.zip

    传统Spring+Quartz实现的定时器一般都是通过配置文件中配置的,这就意味着如果我们修改了定时任务的时间,就得重新启动一下Tomcat,而且每次新建一个任务就得在spring中添加相关的配置信息,非常麻烦。基于上面的...

    [Quartz]Quartz定时器的j2ee系统使用

    Quartz的Hibernate模型 博文链接:https://xmkevinchen.iteye.com/blog/196392

    Spring-quartz实现定时器(含代码)

    3. **定义Job和Trigger**:创建一个实现了`org.quartz.Job`接口的类,这是执行任务的实体。然后,定义一个触发器,决定何时启动这个Job。 ```java public class MyJob implements Job { @Override public void ...

    quartz定时器api

    Quartz定时器API是Java平台上一个强大的作业调度框架,它被广泛用于构建自动化任务和后台作业,例如数据备份、报表生成、系统维护等。Quartz提供了丰富的API来创建、管理和控制作业(Jobs)和触发器(Triggers),...

    定时任务quartz实现分组串行并行动态配置

    2. **分组管理**:Quartz允许我们为Job分配不同的组,这有助于分类和管理任务。我们可以在创建JobDetail时指定Job的组名,以便于后续的查询和操作。 3. **串行执行**:如果希望同一组内的Job按顺序执行,可以使用`...

    quartz job持久化

    1 通过quartz创建持久化定时执行任务 3 1.1 首先创建一个基本的web工程,所需jar包 3 1.2 Quartz配置文件quartz.properties 4 1.3 创建job 6 1.3.1 实现org.quartz.Job接口 6 1.3.2 把以上job持久化到数据库中 6 1.4...

    一个简单的quartz定时器的demo

    这个"一个简单的quartz定时器的demo"是展示如何在项目中集成和使用Quartz的基本步骤,包括创建任务、配置调度器以及管理任务的生命周期。 首先,Quartz的核心组件包括Scheduler(调度器)、Job(任务)和Trigger...

    SSM定时器quartz DEMO

    SSM定时器Quartz是一个广泛使用的Java定时任务框架,它允许开发者在应用程序中安排复杂的作业执行计划。在Java世界里,Quartz是一个强大的工具,它能够处理大量的并发任务,并提供了丰富的API来创建、调度和管理任务...

    spring和quartz的定时器的启动和停止例子

    3. **创建Job和Trigger**:定义一个实现了`org.quartz.Job`接口的类,该类表示要执行的任务。然后创建一个`org.quartz.Trigger`,指定任务的执行时间。Spring可以通过`MethodInvokingJobDetailFactoryBean`和`...

    quartz定时器源码jar包下载

    Quartz定时器允许开发者创建、调度和管理任务,这些任务可以是简单的函数调用或者复杂的业务流程。它支持多种调度策略,如CRON表达式、简单调度(间隔执行)等,使得开发者能够灵活地定义任务的执行时间和频率。 **...

    quartz支持集群的定时器任务

    以下是对"quartz支持集群的定时器任务"这一主题的详细阐述。 1. **Quartz基本概念** - **Job**:在Quartz中,Job是执行的具体任务,它定义了任务的行为。 - **Trigger**:Trigger是调度器,决定何时触发Job执行。...

    Quartz定时器表.sql

    Quartz定时器表 执行语句 方便部署处理数据

    Quartz定时器介绍与简单使用

    ### Quartz定时器介绍与简单使用 #### 1.1 Quartz介绍 Quartz 是一款功能强大的开源任务调度框架,它完全采用 Java 编写而成。该框架允许开发人员以灵活的方式定义作业及其触发规则,从而实现对任务的定时调度。...

    Spring中的Quartz配置-Spring-定时器-java定时器.doc

    Spring 中的 Quartz 配置-Spring 定时器-java 定时器 在 Spring 框架中,Quartz 是一个非常流行的开源作业调度器,可以实现任务的定时执行。在本篇文章中,我们将讨论如何在 Spring 中配置 Quartz,以实现 Java ...

    spring java 定时器 执行两次 quartz

    然后,定义你的任务类(Job)并实现`org.quartz.Job`接口: ```java import org.quartz.Job; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; public class MyJob implements ...

    C# 控制台Quartz定时任务.doc

    总结来说,Quartz.NET是C#中实现定时任务的强大工具,通过创建和配置Scheduler、Job、JobDetail和Trigger,开发者可以灵活地控制任务的执行。在控制台应用中,Quartz.NET使得定时任务的管理和执行变得简单且高效。

Global site tag (gtag.js) - Google Analytics