2 changed files with 0 additions and 115 deletions
@ -1,61 +0,0 @@ |
|||
package cn.chjyj.szwh.configure; |
|||
|
|||
import org.quartz.Scheduler; |
|||
import org.quartz.ee.servlet.QuartzInitializerListener; |
|||
import org.springframework.beans.factory.config.PropertiesFactoryBean; |
|||
import org.springframework.boot.autoconfigure.quartz.SchedulerFactoryBeanCustomizer; |
|||
import org.springframework.context.annotation.Bean; |
|||
import org.springframework.context.annotation.Configuration; |
|||
import org.springframework.core.io.ClassPathResource; |
|||
import org.springframework.scheduling.quartz.SchedulerFactoryBean; |
|||
|
|||
import java.io.IOException; |
|||
import java.util.Properties; |
|||
|
|||
/** |
|||
* @Author: CJ |
|||
* @Date: 2021-11-1 19:34 |
|||
*/ |
|||
@Configuration |
|||
public class QuartzConfig implements SchedulerFactoryBeanCustomizer { |
|||
|
|||
@Bean |
|||
public Properties properties() throws IOException { |
|||
PropertiesFactoryBean propertiesFactoryBean = new PropertiesFactoryBean(); |
|||
// 对quartz.properties文件进行读取
|
|||
propertiesFactoryBean.setLocation(new ClassPathResource("/quartz.properties")); |
|||
// 在quartz.properties中的属性被读取并注入后再初始化对象
|
|||
propertiesFactoryBean.afterPropertiesSet(); |
|||
return propertiesFactoryBean.getObject(); |
|||
} |
|||
|
|||
@Bean |
|||
public SchedulerFactoryBean schedulerFactoryBean() throws IOException { |
|||
SchedulerFactoryBean schedulerFactoryBean = new SchedulerFactoryBean(); |
|||
schedulerFactoryBean.setQuartzProperties(properties()); |
|||
return schedulerFactoryBean; |
|||
} |
|||
|
|||
/* |
|||
* quartz初始化监听器 |
|||
*/ |
|||
@Bean |
|||
public QuartzInitializerListener executorListener() { |
|||
return new QuartzInitializerListener(); |
|||
} |
|||
|
|||
/* |
|||
* 通过SchedulerFactoryBean获取Scheduler的实例 |
|||
*/ |
|||
@Bean |
|||
public Scheduler scheduler() throws IOException { |
|||
return schedulerFactoryBean().getScheduler(); |
|||
} |
|||
|
|||
@Override |
|||
public void customize(SchedulerFactoryBean schedulerFactoryBean) { |
|||
schedulerFactoryBean.setStartupDelay(2); |
|||
schedulerFactoryBean.setAutoStartup(true); |
|||
schedulerFactoryBean.setOverwriteExistingJobs(true); |
|||
} |
|||
} |
|||
@ -1,54 +0,0 @@ |
|||
#主要分为scheduler、threadPool、jobStore、dataSource等部分 |
|||
|
|||
|
|||
org.quartz.scheduler.instanceId=AUTO |
|||
org.quartz.scheduler.instanceName=SzwhScheduler |
|||
#如果您希望Quartz Scheduler通过RMI作为服务器导出本身,则将“rmi.export”标志设置为true |
|||
#在同一个配置文件中为'org.quartz.scheduler.rmi.export'和'org.quartz.scheduler.rmi.proxy'指定一个'true'值是没有意义的,如果你这样做'export'选项将被忽略 |
|||
org.quartz.scheduler.rmi.export=false |
|||
#如果要连接(使用)远程服务的调度程序,则将“org.quartz.scheduler.rmi.proxy”标志设置为true。您还必须指定RMI注册表进程的主机和端口 - 通常是“localhost”端口1099 |
|||
org.quartz.scheduler.rmi.proxy=false |
|||
org.quartz.scheduler.wrapJobExecutionInUserTransaction=false |
|||
|
|||
|
|||
#实例化ThreadPool时,使用的线程类为SimpleThreadPool |
|||
org.quartz.threadPool.class=org.quartz.simpl.SimpleThreadPool |
|||
#threadCount和threadPriority将以setter的形式注入ThreadPool实例 |
|||
#并发个数 如果你只有几个工作每天触发几次 那么1个线程就可以,如果你有成千上万的工作,每分钟都有很多工作 那么久需要50-100之间. |
|||
#只有1到100之间的数字是非常实用的 |
|||
org.quartz.threadPool.threadCount=5 |
|||
#优先级 默认值为5 |
|||
org.quartz.threadPool.threadPriority=5 |
|||
#可以是“true”或“false”,默认为false |
|||
org.quartz.threadPool.threadsInheritContextClassLoaderOfInitializingThread=true |
|||
|
|||
|
|||
#在被认为“misfired”(失火)之前,调度程序将“tolerate(容忍)”一个Triggers(触发器)将其下一个启动时间通过的毫秒数。默认值(如果您在配置中未输入此属性)为60000(60秒) |
|||
org.quartz.jobStore.misfireThreshold=5000 |
|||
# 默认存储在内存中,RAMJobStore快速轻便,但是当进程终止时,所有调度信息都会丢失 |
|||
#org.quartz.jobStore.class=org.quartz.simpl.RAMJobStore |
|||
|
|||
#持久化方式,默认存储在内存中,此处使用数据库方式 |
|||
org.quartz.jobStore.class=org.quartz.impl.jdbcjobstore.JobStoreTX |
|||
#您需要为JobStore选择一个DriverDelegate才能使用。DriverDelegate负责执行特定数据库可能需要的任何JDBC工作 |
|||
# StdJDBCDelegate是一个使用“vanilla”JDBC代码(和SQL语句)来执行其工作的委托,用于完全符合JDBC的驱动程序 |
|||
org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.StdJDBCDelegate |
|||
#可以将“org.quartz.jobStore.useProperties”配置参数设置为“true”(默认为false),以指示JDBCJobStore将JobDataMaps中的所有值都作为字符串, |
|||
#因此可以作为名称 - 值对存储而不是在BLOB列中以其序列化形式存储更多复杂的对象。从长远来看,这是更安全的,因为您避免了将非String类序列化为BLOB的类版本问题 |
|||
org.quartz.jobStore.useProperties=true |
|||
#表前缀 |
|||
org.quartz.jobStore.tablePrefix=QRTZ_ |
|||
#数据源别名,自定义 |
|||
org.quartz.jobStore.dataSource=datasoure |
|||
#org.quartz.jobStore.dataSource=qzDS |
|||
|
|||
|
|||
#使用阿里的druid作为数据库连接池 |
|||
#org.quartz.dataSource.qzDS.connectionProvider.class=org.example.config.DruidPoolingconnectionProvider |
|||
#org.quartz.dataSource.qzDS.URL=jdbc:mysql://127.0.0.1:3306/test_quartz?characterEncoding=utf8&useSSL=false&autoReconnect=true&serverTimezone=UTC |
|||
#org.quartz.dataSource.qzDS.user=root |
|||
#org.quartz.dataSource.qzDS.password=123456 |
|||
#org.quartz.dataSource.qzDS.driver=com.mysql.jdbc.Driver |
|||
#org.quartz.dataSource.qzDS.maxConnections=10 |
|||
#设置为“true”以打开群集功能。如果您有多个Quartz实例使用同一组数据库表,则此属性必须设置为“true”,否则您将遇到破坏 |
|||
#org.quartz.jobStore.isClustered=false |
|||
Loading…
Reference in new issue