当前位置: 首页 > news >正文

(翻译)Quartz官方教程——第一课:Quartz入门

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

在你使用调度器(scheduler)之前,需要先对其进行初始化。你可以使用一个调度器工厂(SchedulerFactory)来完成这项任务。一些Quartz的使用者可能会在JNDI中保存一个工厂(factory)的实例,但是其他使用者可能会直接使用一个工厂实例(就像下面的示例一样)并发现初始化一个调度器是如此简单。

一旦调度器初始化成功,它就可以启动、待机和关闭。注意如果调度器被关闭,它可以重新启动而不需要重新初始化。在调度器(scheduler)启动之前或者在停止状态下,触发器(Triggers)将不会被触发(及任务不会被执行)。

下面是一段简单的入门代码,它初始化并启动了一个调度器,并调度了一个任务去执行

SchedulerFactory schedFact = new org.quartz.impl.StdSchedulerFactory();

Scheduler sched = schedFact.getScheduler();

sched.start();

// 定义一个任务并把它绑定到我们的HelloJob类
JobDetail job = JobBuilder.newJob(HelloJob.class)
      .withIdentity("myJob", "group1")
      .build();

// 让任务立即执行,然后每40秒运行一次
Trigger trigger = TriggerBuilder.newTrigger()
      .withIdentity("myTrigger", "group1")
      .startNow()
      .withSchedule(simpleSchedule()
          .withIntervalInSeconds(40)
          .repeatForever())
      .build();

// 告诉quartz使用我们定义的触发器来调度任务
sched.scheduleJob(job, trigger);

正如你看到的那样,使用Quartz是非常简单的。在课程2中,我们将简要介绍Jobs、Triggers和Quartz的API,然后你就可以完全理解这个例子了。

转载于:https://my.oschina.net/icebergxty/blog/1797681

相关文章:

  • c++(类) this指针
  • 【Python改变生活!】用pynput控制键盘鼠标!Mac如何卸载python?
  • Docker 镜像、容器、仓库的概念及基本操作
  • 十分钟讲清楚大众对区块链的误解
  • 移动端适配问题解决方案
  • 每天一个linux命令(20):find命令之exec
  • 多张图片合成一张图片、兼容问题总结
  • git 配置多个账户
  • CentOS下安装php扩展exif
  • Alembic基本使用
  • 机器学习中特征的处理及选择
  • Prometheus Querying Function rate() vs irate()
  • 多线程基础篇(3)——初试锁
  • java获取文件列表,并按照目录的深度及文件名的拼音的升序排列
  • 爬虫大作业
  • 《Javascript数据结构和算法》笔记-「字典和散列表」
  • 2018天猫双11|这就是阿里云!不止有新技术,更有温暖的社会力量
  • angular2开源库收集
  • Asm.js的简单介绍
  • C# 免费离线人脸识别 2.0 Demo
  • CentOS7简单部署NFS
  • Lucene解析 - 基本概念
  • ReactNative开发常用的三方模块
  • Selenium实战教程系列(二)---元素定位
  • vue从创建到完整的饿了么(11)组件的使用(svg图标及watch的简单使用)
  • 对象引论
  • 分享一份非常强势的Android面试题
  • 腾讯优测优分享 | 你是否体验过Android手机插入耳机后仍外放的尴尬?
  • 通过几道题目学习二叉搜索树
  • 突破自己的技术思维
  • 微服务核心架构梳理
  • 最简单的无缝轮播
  • nb
  • 策略 : 一文教你成为人工智能(AI)领域专家
  • 从如何停掉 Promise 链说起
  • ​​快速排序(四)——挖坑法,前后指针法与非递归
  • ## 临床数据 两两比较 加显著性boxplot加显著性
  • #Linux(Source Insight安装及工程建立)
  • ()、[]、{}、(())、[[]]命令替换
  • (1) caustics\
  • (2015)JS ES6 必知的十个 特性
  • (cos^2 X)的定积分,求积分 ∫sin^2(x) dx
  • (pytorch进阶之路)CLIP模型 实现图像多模态检索任务
  • (动态规划)5. 最长回文子串 java解决
  • (二)JAVA使用POI操作excel
  • (附程序)AD采集中的10种经典软件滤波程序优缺点分析
  • (十)【Jmeter】线程(Threads(Users))之jp@gc - Stepping Thread Group (deprecated)
  • (一) springboot详细介绍
  • (转)setTimeout 和 setInterval 的区别
  • (转载)VS2010/MFC编程入门之三十四(菜单:VS2010菜单资源详解)
  • (轉)JSON.stringify 语法实例讲解
  • ... 是什么 ?... 有什么用处?
  • .babyk勒索病毒解析:恶意更新如何威胁您的数据安全
  • .net core 6 使用注解自动注入实例,无需构造注入 autowrite4net
  • .NET Core工程编译事件$(TargetDir)变量为空引发的思考