李林超博客
首页
归档
留言
友链
动态
关于
归档
留言
友链
动态
关于
首页
Java
正文
【转载】06.Quartz配置quartz.properties详解
Leefs
2021-08-30 AM
1332℃
0条
# 【转载】06.Quartz配置quartz.properties详解 ### 一、配置文件的位置与加载顺序 Quartz默认加载工程目录下的quartz.properties,如果工程目录下没有,就会去加载quartz.jar包下面的quartz.properties文件。 ### 二、组成部分 - 调度器属性 - 线程池属性 - 作业存储设置 - 插件配置 #### **调度器属性** `org.quartz.scheduler.instanceName`属性用来区分特定的调度器实例,可以按照功能用途来给调度器起名。 `org.quartz.scheduler.instanceId`属性和前者一样,也允许任何字符串,但这个值必须是在所有调度器实例中是惟一的,尤其是在一个集群当中,作为集群的唯一key。假如你想Quartz帮你生成这个值的话,可以设置为AUTO。与上面那个属性的区别主要是,instanceId主要是指物理上的区分,而instanceName是逻辑上的区分。 #### **线程池属性** `threadCount`属性设置Quartz工作线程数量,最小值为1,无最大值,但是最好不超过100,不然服务器性能会大大下降。 `threatPriority`属性设置线程优先级,最小值1,最大值10,一般情况下设置为5,默认值也是5。主要用在集群中设置。 `org.quartz.threadPool.class`属性设置线程池属性,可以根据自己的需求设置可伸缩的线程池,但是必须按照其规范创建接口。一般默认使用其自带的线程池属性类:`org.quartz.simpl.SimpleThreadPool` #### **作业存储设置** 描述了在调度器实例的生命周期中,Job和Trigger信息是如何被存储的。比如说:究竟是保存在内存中,还是什么数据库中等 #### 插件配置 满足特定需求用到的Quartz插件的配置 ### 三、quartz.properties配置文件的配置 ```properties # Default Properties file for use by StdSchedulerFactory # to create a Quartz Scheduler Instance, if a different # properties file is not explicitly specified. # # =========================================================================== # Configure Main Scheduler Properties 调度器属性 # =========================================================================== org.quartz.scheduler.instanceName: DefaultQuartzScheduler org.quartz.scheduler.instanceid:AUTO org.quartz.scheduler.rmi.export: false org.quartz.scheduler.rmi.proxy: false org.quartz.scheduler.wrapJobExecutionInUserTransaction: false # =========================================================================== # Configure ThreadPool 线程池属性 # =========================================================================== #线程池的实现类(一般使用SimpleThreadPool即可满足几乎所有用户的需求) org.quartz.threadPool.class: org.quartz.simpl.SimpleThreadPool #指定线程数,至少为1(无默认值)(一般设置为1-100直接的整数合适) org.quartz.threadPool.threadCount: 10 #设置线程的优先级(最大为java.lang.Thread.MAX_PRIORITY 10,最小为Thread.MIN_PRIORITY 1,默认为5) org.quartz.threadPool.threadPriority: 5 #设置SimpleThreadPool的一些属性 #设置是否为守护线程 #org.quartz.threadpool.makethreadsdaemons = false #org.quartz.threadPool.threadsInheritContextClassLoaderOfInitializingThread: true #org.quartz.threadpool.threadsinheritgroupofinitializingthread=false #线程前缀默认值是:[Scheduler Name]_Worker #org.quartz.threadpool.threadnameprefix=swhJobThead; # 配置全局监听(TriggerListener,JobListener) 则应用程序可以接收和执行 预定的事件通知 # =========================================================================== # Configuring a Global TriggerListener 配置全局的Trigger监听器 # MyTriggerListenerClass 类必须有一个无参数的构造函数,和 属性的set方法,目前2.2.x只支持原始数据类型的值(包括字符串) # =========================================================================== #org.quartz.triggerListener.NAME.class = com.swh.MyTriggerListenerClass #org.quartz.triggerListener.NAME.propName = propValue #org.quartz.triggerListener.NAME.prop2Name = prop2Value # =========================================================================== # Configuring a Global JobListener 配置全局的Job监听器 # MyJobListenerClass 类必须有一个无参数的构造函数,和 属性的set方法,目前2.2.x只支持原始数据类型的值(包括字符串) # =========================================================================== #org.quartz.jobListener.NAME.class = com.swh.MyJobListenerClass #org.quartz.jobListener.NAME.propName = propValue #org.quartz.jobListener.NAME.prop2Name = prop2Value # =========================================================================== # Configure JobStore 存储调度信息(工作,触发器和日历等) # =========================================================================== # 信息保存时间 默认值60秒 org.quartz.jobStore.misfireThreshold: 60000 #保存job和Trigger的状态信息到内存中的类 org.quartz.jobStore.class: org.quartz.simpl.RAMJobStore # =========================================================================== # Configure SchedulerPlugins 插件属性 配置 # =========================================================================== # 自定义插件 #org.quartz.plugin.NAME.class = com.swh.MyPluginClass #org.quartz.plugin.NAME.propName = propValue #org.quartz.plugin.NAME.prop2Name = prop2Value #配置trigger执行历史日志(可以看到类的文档和参数列表) org.quartz.plugin.triggHistory.class = org.quartz.plugins.history.LoggingTriggerHistoryPlugin org.quartz.plugin.triggHistory.triggerFiredMessage = Trigger {1}.{0} fired job {6}.{5} at\: {4, date, HH\:mm\:ss MM/dd/yyyy} org.quartz.plugin.triggHistory.triggerCompleteMessage = Trigger {1}.{0} completed firing job {6}.{5} at {4, date, HH\:mm\:ss MM/dd/yyyy} with resulting trigger instruction code\: {9} #配置job调度插件 quartz_jobs(jobs and triggers内容)的XML文档 #加载 Job 和 Trigger 信息的类 (1.8之前用:org.quartz.plugins.xml.JobInitializationPlugin) org.quartz.plugin.jobInitializer.class = org.quartz.plugins.xml.XMLSchedulingDataProcessorPlugin #指定存放调度器(Job 和 Trigger)信息的xml文件,默认是classpath下quartz_jobs.xml org.quartz.plugin.jobInitializer.fileNames = my_quartz_job2.xml #org.quartz.plugin.jobInitializer.overWriteExistingJobs = false org.quartz.plugin.jobInitializer.failOnFileNotFound = true #自动扫描任务单并发现改动的时间间隔,单位为秒 org.quartz.plugin.jobInitializer.scanInterval = 10 #覆盖任务调度器中同名的jobDetail,避免只修改了CronExpression所造成的不能重新生效情况 org.quartz.plugin.jobInitializer.wrapInUserTransaction = false # =========================================================================== # Sample configuration of ShutdownHookPlugin ShutdownHookPlugin插件的配置样例‹ # =========================================================================== #org.quartz.plugin.shutdownhook.class = \org.quartz.plugins.management.ShutdownHookPlugin #org.quartz.plugin.shutdownhook.cleanShutdown = true # # Configure RMI Settings 远程服务调用配置 # #如果你想quartz-scheduler出口本身通过RMI作为服务器,然后设置“出口”标志true(默认值为false)。 #org.quartz.scheduler.rmi.export = false #主机上rmi注册表(默认值localhost) #org.quartz.scheduler.rmi.registryhost = localhost #注册监听端口号(默认值1099) #org.quartz.scheduler.rmi.registryport = 1099 #创建rmi注册,false/never:如果你已经有一个在运行或不想进行创建注册 # true/as_needed:第一次尝试使用现有的注册,然后再回来进行创建 # always:先进行创建一个注册,然后再使用回来使用注册 #org.quartz.scheduler.rmi.createregistry = never #Quartz Scheduler服务端端口,默认是随机分配RMI注册表 #org.quartz.scheduler.rmi.serverport = 1098 #true:链接远程服务调度(客户端),这个也要指定registryhost和registryport,默认为false # 如果export和proxy同时指定为true,则export的设置将被忽略 #org.quartz.scheduler.rmi.proxy = false ``` *附:* *原文链接地址:https://blog.csdn.net/qq_38962739/article/details/88938227*
标签:
Quartz
非特殊说明,本博所有文章均为博主原创。
如若转载,请注明出处:
https://www.lilinchao.com/archives/1407.html
上一篇
05.Quartz监听器
下一篇
07.SpringBoot集成Quartz实现分布式任务调度
取消回复
评论啦~
提交评论
栏目分类
随笔
2
Java
326
大数据
229
工具
31
其它
25
GO
47
标签云
JVM
DataWarehouse
数据结构和算法
CentOS
算法
正则表达式
Ubuntu
设计模式
Spark Core
数据结构
MyBatisX
Java
SQL练习题
SpringBoot
NIO
Quartz
Java工具类
栈
Golang基础
Kibana
JavaWEB项目搭建
Redis
随笔
Spark
VUE
Http
数学
Golang
Sentinel
Stream流
友情链接
申请
范明明
庄严博客
Mx
陶小桃Blog
虫洞