首页 > 其他分享 >Quartz使用

Quartz使用

时间:2023-04-06 23:45:26浏览次数:43  
标签:Quartz job quartz scheduler 使用 org properties 加载

目录

官网:http://www.quartz-scheduler.org/

快速使用

官方文档:http://www.quartz-scheduler.org/documentation/quartz-2.3.0/quick-start.html

  • 引入依赖:
        <dependency>
            <groupId>org.quartz-scheduler</groupId>
            <artifactId>quartz</artifactId>
            <version>2.3.2</version>
        </dependency>
  • 定义job
  • 定义触发器
  • 让quartz使用trigger调度job
public class QuartzTest {
    private static final Logger log = LoggerFactory.getLogger(QuartzTest.class);
    public static void main(String[] args) {
        try {
            //获取Scheduler实例
            Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();

            //内部会启动线程 start之后应用不会退出 除非执行shutdown
            scheduler.start();

            //定义job
            JobDetail job = JobBuilder.newJob(HelloJob.class)
                    .withIdentity("job1", "group1")
                    .build();

            //定义触发器
            SimpleTrigger trigger = TriggerBuilder.newTrigger()
                    .withIdentity("trigger1", "group1")
                    .startNow()
                    .withSchedule(SimpleScheduleBuilder.simpleSchedule()
                            .withIntervalInSeconds(2)
                            .repeatForever())
                    .build();

            //让quartz使用trigger调度job
            scheduler.scheduleJob(job, trigger);


//            scheduler.shutdown();
        } catch (SchedulerException e) {
            e.printStackTrace();
        }
    }

    public static class HelloJob implements Job {

        @Override
        public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
            log.info("do executing helloJob");
        }
    }
}

下载

下载的压缩包里面包含了:

  • 使用例子
  • java文档
  • 依赖的jar包
  • 源码
    image

配置

官方文档:http://www.quartz-scheduler.org/documentation/quartz-2.3.0/configuration/

quartz.properties

quartz默认使用quartz.properties文件进行配置,被StdSchedulerFactory加载使用,默认从当前工作目录中加载,如果加载不到,则从系统属性org.quartz.properties指定配置文件加载;如果仍然加载不到则使用jar包里自带的quartz.properties。

或者new StdSchedulerFactory()加载任意指定的配置文件,必须在getScheduler()调用之前

教程

监听器

  • JobListener
  • TriggerListener
  • SchedulerListener
    触发器
  • SimpleScheduleBuilder
  • CronScheduleBuilder
    常用utils
  • DateBuilder

标签:Quartz,job,quartz,scheduler,使用,org,properties,加载
From: https://www.cnblogs.com/bingmous/p/17270224.html

相关文章

  • Frida 原理及简单使用
    Frida简介Frida是一款基于Python+JavaScript的hook框架,本质是一种动态插桩技术。可以用于Android、Windows、iOS等各大平台,其执行脚本基于Python或者Node.js写成,而注入代码用JavaScript写成,所以有必要了解一些这些语言的语法。本文主要讲述了Android上Frida框架的使用。原理......
  • 使用ScheduledExecutorService延时关闭一个全屏的对话框
    自定义style,设置全屏属性<resources><stylename="AppTheme"parent="android:Theme.Black"/><stylename="processDialog"><itemname="android:windowIsFloating"......
  • CoordinatorLayout之Behavior使用
    importandroid.animation.Animator;importandroid.content.Context;importandroid.support.design.widget.CoordinatorLayout;importandroid.support.v4.view.ViewCompat;importandroid.support.v4.view.animation.FastOutSlowInInterpolator;importandroid.util.......
  • go net/http包的使用
    前言:Go语言标准库内建提供了net/http包,涵盖了HTTP客户端和服务端的具体实现。使用net/http包,我们可以很方便地编写HTTP客户端或服务端的程序。 正文:包的文档地址:https://go-zh.org/pkg/net/http net/http包使用说明:注册路由http.HandleFunc("/index",getHandle)  ......
  • 使用nvm管理(切换)node版本
    使用nvm切换node版本1.完全删除之前的node及npm(清理干净Node:应用程序,缓存的文件,环境变量)2.使用管理员身份安装nvm,下载如下3.安装完nvm之后找到nvm下载路径对应的文件4.使用管理员身份打开cmd,nvminstallxxx(node的版本),两个版本都执行一次下载命令5.执行完4之后,nvm路径下......
  • 关于ListView中使用GestureDetector冲突的解决办法
    在做OnGestureListener手势滑动界面的时候,会遇到这样的问题,就是当界面中含有ListView的时候,OnGestureListener的界面滑动就被ListView拦截并消费掉了。为了解决这个问题需要重写ListView的OnTouchListener接口:ListViewlistView=(ListView)findViewById(R......
  • Spring Cache使用方式——不用默认,使用redis进行缓存
    在SpringBoot项目中使用SpringCache的操作步骤(使用redis缓存技术)1、导入Maven坐标spring-boot-starter-data-redis、sping-boot-starter-cache2、配置application.ymlspring:cache:redis:time-to-live:1800000#设置缓存......
  • 08、foamSearch使用
    我们可以使用openfoam自带的foamSearch工具进行搜索在某个文件夹内搜索文件的某个内容foamSearch$FOAM_TUTORIALSfvSchemes"divSchemes/div(phi,U)"输出结果div(phi,U)boundedGausslimitedLinear0.2;div(phi,U)boundedGausslimitedLinearV1;div(phi,U......
  • foreach/增强for循环 中 使用iterator.remove();
    Set<String>set=newHashSet<>();set.add("a");set.add("b");Iterator<String>iterator=set.iterator();for(Stringstring:set){iterator.next();iterator.remove();} Excep......
  • 【Azure 应用服务】使用Docker Compose创建App Service遇见"Linux Version is too lo
    问题描述使用DockerCompose方式合并多个镜像(Images)文件,然后部署到AppService中,结果失败。报错LinuxVersion太长,不能超过4000个字符。错误消息:{"code":"DeploymentFailed","message":"Atleastoneresourcedeploymentoperationfailed.Pleaselistdeploymentoper......