`
驿马回家
  • 浏览: 9571 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

学习笔记_Quartz作业调度框架,使用corn表达式

阅读更多
每一个 Quartz Job 必须有一个实现了 org.quartz.Job 接口的具体类。这个接口仅有一个要你在 Job 中实现的方法,execute(),方法 execute() 的原型如下:
public void execute(JobExecutionContext context) throws JobExecutionException;

当 Quartz 调度器确定到时间要激发一个 Job 的时候,它就会生成一个 Job 实例,并调用这个实例的 execute() 方法。调度器只管调用 execute() 方法,而不关心执行的结果,除了在作业执行中出问题抛出的 org.quartz.JobExecutionException 异常。

当 Quartz 调用 execute() 方法,会传递一个 org.quartz.JobExecutionContext 上下文变量,里面封装有 Quartz 的运行时环境和当前正执行的 Job。通过 JobexecutionContext,你可以访问到调度器的信息,作业和作业上的触发器的信息,还有更多更多的信息。在代码中,JobExecutionContext 被用来访问 org.quartz.JobDetail 类,JobDetail 类持有 Job 的详细信息,包括为 Job 实例指定的名称,Job 所属组,Job 是否被持久化(易失性),和许多其他感兴趣的属性。

JobDetail 又持有一个指向 org.quartz.JobDataMap 的引用。JobDataMap 中有为指定 Job 配置的自定义属性。

以下是Quartz使用corn表达式的一个简单示例。

public class HelloJob implements Job {

    public void execute(JobExecutionContext context)
    	throws JobExecutionException {
    	
    	//从JobExecutionContext中获取JobDetail信息,包括JobDataMap中的参数信息
        JobKey key = context.getJobDetail().getKey();
        JobDataMap dataMap = context.getJobDetail().getJobDataMap();
        
        String jobPerson = dataMap.getString("jobPerson");
        float jobParam = dataMap.getFloat("jobParam");

        System.out.println(new Date()+",Instance " + key + " of HelloJob");
        System.out.println(jobPerson+" says Hello World!,and param is: " + jobParam);
    }

}


public class Demo1 {

	public static void main(String[] args) throws Exception{
		//从工厂中取出调度器Scheduler
		SchedulerFactory schedFact = new StdSchedulerFactory();
		Scheduler sched = schedFact.getScheduler();
		
		//启动调度器,也可以在job和trigger设置好后启动
		sched.start();
		
		//定义一个作业,并绑定到HelloJob上,命名为myJob,分组为group1,usingJobData为传递参数
		JobDetail job = newJob(HelloJob.class)
		.withIdentity("myJob", "group1")
		.usingJobData("jobPerson", "jk")
		.usingJobData("jobParam", 3.141f)
		.build();

		//定义一个触发器,命名为myTrigger,分组为group1,使用corn时间表达式
		Trigger 	trigger = newTrigger()
		.withIdentity("myTrigger", "group1")
		.withSchedule(cronSchedule("0/10 * * * * ?"))//"0/10 * * * * ?"为corn表达式
		//.forJob("myJob", "group1") //貌似这一句不要也可以
		.build();
		
		// Tell quartz to schedule the job using our trigger
		sched.scheduleJob(job, trigger);

	}
}


附件为demo工程。
分享到:
评论

相关推荐

    Quartz作业调度框架

    总体而言,Quartz是一个功能强大且使用灵活的作业调度框架,它提供了一个完整的生态系统,让开发者能够在企业级应用中高效地管理作业调度。通过本文档提供的内容,可以充分了解Quartz作业调度框架的各个方面,包括其...

    quartz corn表达式生成器

    quartz corn表达式生成器,网页版的,下载下来可独立运行。 quartz corn表达式生成器,网页版的,下载下来可独立运行。 quartz corn表达式生成器,网页版的,下载下来可独立运行。 quartz corn表达式生成器,网页版...

    quartz开源作业调度框架

    ### quartz开源作业调度框架知识点详解 #### 一、Quartz框架简介 Quartz是一个功能强大的、开源的作业调度框架,完全由Java编写而成。它能够被应用在服务器端的Java应用程序中,帮助开发者轻松地创建并管理定时任务...

    quartz_corn参数配置_复杂表达式.pdf

    Cron表达式是Quartz调度系统中用于定义作业触发时间的一种灵活而精确的方式。Cron表达式由六个或七个由空格分隔的时间字段组成,可用于设定各种周期性的作业调度计划。 Cron表达式的六个基本时间字段包括: 1. 秒...

    Corn表达式生成工具源码

    在实际应用中,Corn表达式可以被任务调度框架如Quartz.NET或Windows Task Scheduler所使用。 这个"CornTool"源码可能包含了以下几个关键部分: 1. 用户界面:提供一个友好且直观的图形化界面,用户可以通过界面...

    Quartz一个开源的作业调度框架

    Quartz是一个广泛应用于企业级应用中的开源作业调度框架,它为开发者提供了强大的任务调度功能,使得应用程序能够在预定的时间执行特定的任务。Quartz的核心设计目标是简单易用且可高度扩展,能够满足从小型项目到...

    quartz表达式生成器,定时任务表达式

    Quartz是一款广泛使用的开源作业调度框架,它允许开发者在Java应用程序中定义和执行定时任务。在Quartz中,任务的调度通常通过一个叫做Cron Trigger的机制,它使用了一种特殊的表达式——Cron表达式,来定义任务的...

    easyui前台页面可选择生成quartz corn表达式

    在IT行业中,前端开发与后台任务调度是两个重要的领域,而"easyui前台页面可选择生成quartz corn表达式"的实现将这两者巧妙地结合在一起。EasyUI是一款基于jQuery的UI组件库,用于构建美观且功能丰富的Web界面,而...

    Quartz - 作业调度框架

    Quartz是一款广泛应用于Java环境中的开源作业调度框架,它的核心功能是实现任务的自动化执行,如定时触发、周期性执行等。Quartz以其强大的灵活性和稳定性,在企业级应用中占据了重要地位,尤其对于需要定时执行任务...

    Quartz一个开源作业调度框架

    Quartz 是一个强大的开源作业调度框架,主要用于自动化执行任务,如定时发送邮件、执行数据清理、执行批处理等。该框架完全用 Java 编写,兼容 J2SE 和 J2EE 环境,提供了丰富的功能和灵活性,使得开发者能够方便地...

    Quartz_cron表达式

    Quartz是一款强大的开源作业调度框架,广泛应用于Java应用程序中,用于实现定时任务的功能。Quartz支持多种触发器类型,其中最为灵活且功能强大的是CronTrigger,它允许用户通过Cron表达式来精确地定义作业的执行...

    Quartz_API_1.65.zip_Quartz API_Quartz a_quartz 1.6.3 api_quartz

    在Quartz_API_1.65.chm文件中,你应该能找到详细的API文档,包括类的介绍、方法的使用示例和配置指南。这份文档将帮助你理解如何创建、调度和管理Jobs,以及如何设置和控制Triggers。此外,它还会涵盖如何配置Quartz...

    Quartz(作业调度)

    Quartz是一款开源的作业调度框架,它为Java应用程序提供了强大的定时任务处理能力。在Spring框架中,Quartz可以被集成来实现复杂的定时任务调度。本文将深入探讨Quartz的使用,包括其基本概念、配置、API以及在Web...

    Quartz.NET是一个开源的作业调度框架

    Quartz.NET是一个强大的开源作业调度框架,主要用于C#编程环境中,它允许开发者在应用程序中创建、安排和执行任务。这个框架的设计目标是提供一个灵活、可靠的解决方案,使得开发者可以轻松地构建定时任务,以实现...

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

    Quartz是一个开源的作业调度框架,它为Java应用程序提供了强大的定时和计划功能。在Java项目中,Quartz常被用来执行周期性的任务,比如数据备份、日志清理、定时发送邮件等。本“quartz任务调度框架简单实用小demo”...

    corn表达式生成器jar版.zip

    Corn表达式是一种强大的调度语法,广泛应用于Unix/Linux的crontab任务以及Java的Quartz、Spring Scheduler等调度库。它由七个字段组成,每个字段代表一个时间维度(秒、分、小时、日、月中的周几、月、年),用于...

    quartz作业调度测试

    Quartz是一款开源的作业调度框架,它允许开发者创建、组织和执行定时任务。在Java开发环境中,Quartz常被用于实现复杂的工作调度需求,比如定时发送邮件、执行数据同步或者在特定时间运行某些业务逻辑。这个"quartz...

Global site tag (gtag.js) - Google Analytics