初识Quartz之第一个Quartz实例

quartz实例,quartz入门例子 在 myeclipse6.0.1下调试成功可直接运行的spring的quartz的例子,很适合刚接触quartz调度学习。 立即下载

        根据前面的博文对Quartz的三大组件:Job、Trigger、Scheduler分别进行了介绍,本文则利用创建三大组件创建一个Quartz的实例,来了解Quartz框架的工作流程。

1.创建项目

        首先利用eclipse建立一个Maven项目,选择图中所示的Filter选项。并继续完成命名等,创建一个项目。


        创建完成后,项目如图所示:

2.pom文件

        根据Quartz框架所需要的jar包,将其写到pom文件中,便于统一生成,pom配置文件如下所示:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.carson</groupId>
  <artifactId>FirstQuarz</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>FirstQuarz</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
    <groupId>org.quartz-scheduler</groupId>
    <artifactId>quartz</artifactId>
    <version>2.2.3</version>
</dependency>
  </dependencies>
</project>
3.Job实现类

        三大组件之一就是Job组件,其中需要实现Job接口,而Job接口中只有一个execute()方法,需要实现execute()方法,具体如下所示:

import java.text.SimpleDateFormat;
import java.util.Date;

import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;

public class MyJob implements Job {

	public void execute(JobExecutionContext context) throws JobExecutionException {
		//打印当前的执行时间,格式为yyyy-MM-dd HH:mm:ss
		// 编写具体的业务逻辑。
		Date date=new Date();
		SimpleDateFormat sf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//规范格式
		System.out.println("当前时间为:"+sf.format(date));
		System.out.println("Hello World!");
	}

}
4.Scheduler类

         该类用于作任务调度的,首先将Job实现类绑定到JobDetail对象中,然后创建Trigger对象,最后创建Scheduler对象并将JobDetail对象和Trigger对象绑定到Scheduler对象中。通过以上步骤,实现调度器对Job任务的调度,并通过触发器来设置任务触发始末以及频率。

import java.text.SimpleDateFormat;
import java.util.Date;

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;

public class MyScheduler {
	public static void main(String[] args) throws SchedulerException
	{
		//创建一个JobDetail实例,将该实例与MyJob Class绑定。
		JobDetail jobDetail=JobBuilder.newJob(MyJob.class).withIdentity("myJob", "group1").build();
		//创建一个Trigger实例,定义该Job立即执行,并且每隔两秒钟重复一次,
		Trigger trigger=TriggerBuilder
				.newTrigger()
				.withIdentity("myTrigger","group1")
				.startNow()
				.withSchedule(SimpleScheduleBuilder
						.simpleSchedule()
						.withIntervalInSeconds(5)
						.repeatForever())
				.build();
		SchedulerFactory sf=new StdSchedulerFactory();
		Scheduler scheduler=sf.getScheduler();
		scheduler.start();
		Date date=new Date();
		SimpleDateFormat sfd=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//规范格式
		//System.out.println("当前时间为:"+sfd.format(date));
		scheduler.scheduleJob(jobDetail, trigger);
	}
}

        最后运行程序,得到如下结果:

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
当前时间为:2018-04-09 17:04:55
Hello World!
当前时间为:2018-04-09 17:04:59
Hello World!
当前时间为:2018-04-09 17:05:04
Hello World!
当前时间为:2018-04-09 17:05:09
Hello World!
当前时间为:2018-04-09 17:05:14
Hello World!
当前时间为:2018-04-09 17:05:19
Hello World!
当前时间为:2018-04-09 17:05:24
Hello World!
当前时间为:2018-04-09 17:05:29
Hello World!
当前时间为:2018-04-09 17:05:34
Hello World!
当前时间为:2018-04-09 17:05:39
Hello World!
当前时间为:2018-04-09 17:05:44
Hello World!
当前时间为:2018-04-09 17:05:49
Hello World!
。。。。。。
        由于设置的是一直调度不停歇,所以会一直按着间隔时间段触发任务。
quartz 详细例子 quartz 详细例子 quartz 详细例子 java 调度 工作流 立即下载

相关推荐

quartz的demo实例

官网资源,轻松获取,可以直接import到ide中运行,学习初步的quartz

quartz基本使用案例

quartz简单实用的任务调度框架。是一个特性丰富的开源的任务调度库,它几乎可以嵌套所有的Java程序,从很小的独立应用程序到大型商业系统。quartz可以用来创建成百上千的简单的或者复杂的任务,这些任务可以用来执行任何程序可以做的事情。quartz拥有很多企业级的特性,包括支持JTA事务和集群。quartz是一个老牌的任务调度系统,98年构思,01年发布,现在更新比较慢,原因是他已经很成熟了。

背包客—的博客 1029

Quartz例子,C#代码

作业调度Quartz.net源代码,博客介绍地址:http://www.cnblogs.com/jys509/p/4628926.html

Quartz使用文档,使用Quartz实现动态任务,Spring集成Quartz,Quartz集群部署,Quartz源码分析

官网:http://www.quartz-scheduler.org/源码地址:https://github.com/quartz-scheduler/quartzQuartz 的意思是石英,像石英表一样精确。Quatz 是一个特性丰富的,开源的任务调度库,它几乎可以嵌入所有的 Java 程序,从很小的独立应用程序到大型商业系统。Quartz 可以用来创建成百上千的简单的或者复杂的任务,这些任务可以用来执行任何程序可以做的事情。Quartz 拥有很多企业级的特性,包括支持 JTA 事务和集群。

秃了也弱了 3288

一个最简单的定时任务Quartz的例子

博文链接:https://changsha-i9.iteye.com/blog/81112

有关SPSS中Fisher精确检验无法进行的解决方法(由于无法打开临时文件,因此无法进行计算)

最近在帮一个四年生完成她的毕业论文,在用SPSS进行R×C表检验的时候,发现Fisher精确检验的结果无法显示,提示为“由于无法打开临时文件,因此无法进行计算”,大概像下图一样。 (这图是从网上找的) 然...

chuyang37的博客 3万+

SpringBoot定时任务 - 集成quartz实现定时任务(单实例和分布式两种方式)

Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用。Quartz可以用来创建简单或为运行十个,百个,甚至是好几万个Jobs这样复杂的程序。Jobs可以做成标准的Java组件或 EJBs。它的特点如下注: 上图来源于https://www.cnblogs.com/jijm123/p/14240320.html当程序突然被中断时,如断电,内存超出时,很有可能造成任务的丢失。 可以将调度信息存储到数据库里面,进行持

pdai的博客 3375

解密TMS320F28377D双核工程中的内存分配艺术:从CMD文件到实战优化

本文深入解析TMS320F28377D双核DSP的内存管理艺术,从CMD文件配置到实战优化技巧。详细介绍了SARAM、GSRAM等内存类型的特性与配置方法,提供双核协同、性能优化及高级调试的实用方案,帮助开发者提升系统实时性和稳定性。

weixin_29190651的博客 663

Quartz 快速入门案例,看这一篇就够了

Quartz 是基于 Java 实现的任务调度框架,对任务的创建、修改、删除、触发以及监控这些操作直接提供了 api,这意味着开发人员拥有最大的操作权,也带来了更高的灵活性。

~~~~~~~BUG FLY~~~~~~~~~ 1万+

问题:dpkg-deb: error: paste subprocess was killed by signal (Broken pipe)

 1. 问题:Ubuntu安装软件的过程中出现依赖项的问题 “E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).” 按照指示执行如下两条命令都没有解决问题。 sudo apt-get -f install sudo apt-get --fix-broken ...

gloria_littlechi的博客 2万+

LayaBox CommandBuffer描边使用详细

项目需要使用LayaBox做一个给3D物体动态描边的一个功能,前前后后踩了一些坑算是把这个东西给做出来了把我改好的代码贴上,分享给大家。 (1)想要使用描边你的引擎版本必须 >=2.9.0 (2)你必须下载 Laya官方的BlurShader库才能使用这个功能,下载地址:https://github.com/layabox/layaair-demo/tree/master/h5/3d/ts/LayaAir3D_PostProcess/BlurShader 下载完之后把BlurShader放到自己项目的

小智队长 1735

一、Quartz入门案例及文档

使用cron表达式来进行计划作业任务设定的触发器。用于简单的触发以及重复执行作业任务。

工作随记 943

【异常】解决 Claude Code 及第三方插件提示 “API Error: 404“ 的配置修复指南

在使用 Claude 相关的 CLI 工具(如)或 IDE 插件进行开发辅助时,配置错误的模型参数是导致连接失败的常见原因。本文将针对这一典型报错进行复盘与解决。

奶爸的编程之路,也就一周冷个三天 7747

【Quartz】Quartz概述及入门实例

Quartz 在开源任务调度框架中的翘首,它提供了强大任务调度机制,难能可贵的是它同时保持了使用的简单性。Quartz 允许开发人员灵活地定义触发器的调度时间表,并可以对触发器和任务进行关联映射。此外,Quartz提供了调度运行环境的持久化机制,可以保存并恢复调度现场,即使系统因故障关闭,任务调度现场数据并不会丢失。此外,Quartz还提供了组件式的侦听器、各种插件、线程池等功能。

Evankaka的专栏 7674

PMP--二模--解题--161-170

A:邀请团队成员在下一次回顾中分享经验。B:请求发起人增加具有所需经验的团队成员。C:在团队内计划知识共享会议。D:请求发起人为团队提供培训课程。A。

stqer的博客 1270

【PINN物理信息网络】基于PINN物理信息网络求解瞬态薛定谔方程(python)

【PINN物理信息网络】基于PINN物理信息网络求解瞬态薛定谔方程(python)

k8291121的博客 2724

quartz使用实例

在web环境下,Quartz可以通过配置文件来完成后台的作业调度,不必手工创建Trigger和Scheduler,其步骤如下:首先将quartz.jar,以及lib目录下面core和optional两个目录中的所有jar全都放入项目WEB-INF/lib目录下job就是一个简单的java类,这里的功能就是输出当前的时间了。import java.util.Date;import org.apach

KOOK_OKKO的专栏 3350

机器人控制算法九之 位姿描述与空间变换

机器人控制算法九之 位姿描述与空间变换

yohnyang的博客 1034

初识Quartz-个人学习总结

初识Quartz-个人学习总结

m0_53692627的博客 617

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Quartz创建多个不同名字的scheduler实例

需求 创建多个不同的Scheduler实例,每个实例自主启动、关闭     问题 如果直接用 SchedulerFactory sf = new StdSchedulerFactory(); Scheduler scheduler = sf.getScheduler(); 获取的scheduler是从仓储SchedulerRepository里面取出来的,仓储

wjh_penglei的专栏 1791

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

quartz集群完整应用实例

由于工作中几乎所有J2EE项目都是部署在weblogic上,并且两台manage server都做了cluster,所以一直没有关注过quartz的集群,前段时间一个项目正好用到quartz做定时发送邮件,一个开发人员无意中问了我一个问题:如果把定时功能与发邮件的功能分别部署到不同地方,发邮件功能作为后台service部署到weblogic中,而定时功能作为外部调用放在容器之外,这样定时功能就无法

冷月宫主的专栏 2683

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

初识Quartz

Quartz是什么? Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用。Quartz可以用来创建简单或为运行十个,百个,甚至是好几万个Jobs这样复杂的程序。Jobs可以做成标准的Java组件或 EJBs。Quartz的最新版本为Quartz 2.3.0。 内部架构 在规模方面,Quartz跟大多...

wunianisme的博客 195

Java任务调度框架Quartz教程实例

参考链接:http://blog.youkuaiyun.com/yuebinghaoyuan/article/details/9045471 参考链接:http://blog.youkuaiyun.com/hu1991die/article/details/44565029 核心概念  Quartz核心的概念:scheduler任务调度、Job任务、Trigger触发器、JobDetail任务细节

liuxiangke0210的专栏 1073

spring quartz实例及下载包

Spring3.0不支持Quartz2.0,因为org.quartz.CronTrigger在2.0从class变成了一个interface造成IncompatibleClassChangeError错误: Caused by: java.lang.IncompatibleClassChangeError: class org.springframework.scheduling.quartz.

gnolzhao的专栏 2543
上一篇: 初识Quartz之Scheduler组件
下一篇: 2018春招京东实习编程题解
carson0408
博客等级 码龄9年 238粉丝 225原创
评论 7
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值