代码拉取完成,页面将自动刷新
全新2.0版本 点我直达
非Spingboot的其它框架,请移步基础框架版quartz
注意:6以后的特性仅2.0.x及以上版本支持
1.0.x
2.0.x
sys:
quartz:
thread-pool:
thread-name-prefix: XbdThreadPoolTaskExecutor-
thread-priority: 5
daemon: false
thread-group-name: XbdThreadPoolTaskExecutorGroup
core-pool-size: 20
max-pool-size: 50
keep-alive-seconds: 60
queue-capacity: 100
allow-core-thread-timeout: false
waitfor-tasks-tocomplete-onshutdown: false
await-termination-seconds: 60 * 15
scheduler:
config-location: classpath:quartz.properties
scheduler-name: demo-scheduler
application-context-scheduler-contextkey: applicationContext
overwrite-existing-jobs: true
auto-startup: true
startup-delay: 10
package com.xbd.quartz.config;
import com.xbd.quartz.AutowiredSpringBeanJobFactory;
import com.xbd.quartz.QuartzListenerRegister;
import com.xbd.quartz.handler.DefaultQuartzTaskHandler;
import org.quartz.Scheduler;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
import org.springframework.scheduling.quartz.SchedulerFactoryBean;
import org.springframework.transaction.PlatformTransactionManager;
@Configuration
public class QuartzConfig {
@Autowired
private DataSource dataSource;
@Autowired
private PlatformTransactionManager transactionManager;
@Bean
public QuartzProperties quartzProperties() {
return new QuartzProperties();
}
@Bean
public ThreadPoolTaskExecutor threadPoolTaskExecutor() {
ThreadPoolTaskExecutor threadPoolTaskExecutor = new ThreadPoolTaskExecutor();
threadPoolTaskExecutor.setCorePoolSize(quartzProperties.getThreadPool().getCorePoolSize());
threadPoolTaskExecutor.setMaxPoolSize(quartzProperties.getThreadPool().getMaxPoolSize());
threadPoolTaskExecutor.setQueueCapacity(quartzProperties.getThreadPool().getQueueCapacity());
return threadPoolTaskExecutor;
}
@Bean
public AutowiredSpringBeanJobFactory autowiredSpringBeanJobFactory() {
AutowiredSpringBeanJobFactory autowiredSpringBeanJobFactory = new AutowiredSpringBeanJobFactory();
return autowiredSpringBeanJobFactory;
}
@Bean
public SchedulerFactoryBean schedulerFactoryBean() {
SchedulerFactoryBean schedulerFactoryBean = new SchedulerFactoryBean();
schedulerFactoryBean.setConfigLocation(quartzProperties().getScheduler().getConfigLocation());
// 此处设置数据源之后,会覆盖quartz.properties中的myDS数据源
// schedulerFactoryBean.setDataSource(dataSource);
schedulerFactoryBean.setJobFactory(autowiredSpringBeanJobFactory());
schedulerFactoryBean.setSchedulerName(quartzProperties().getScheduler().getSchedulerName());
schedulerFactoryBean.setTaskExecutor(threadPoolTaskExecutor());
schedulerFactoryBean.setTransactionManager(transactionManager);
schedulerFactoryBean.setApplicationContextSchedulerContextKey(quartzProperties().getScheduler().getApplicationContextSchedulerContextKey());
schedulerFactoryBean.setOverwriteExistingJobs(quartzProperties().getScheduler().isOverwriteExistingJobs());
schedulerFactoryBean.setAutoStartup(quartzProperties().getScheduler().isAutoStartup());
schedulerFactoryBean.setStartupDelay(quartzProperties().getScheduler().getStartupDelay());
return schedulerFactoryBean;
}
@Bean
public Scheduler scheduler() {
return schedulerFactoryBean().getObject();
}
@Bean
public QuartzListenerRegister quartzListenerRegister() {
QuartzListenerRegister quartzListenerRegister = new QuartzListenerRegister();
quartzListenerRegister.setScheduler(scheduler());
return quartzListenerRegister;
}
@Bean
public DefaultQuartzTaskHandler defaultQuartzTaskHandler() {
DefaultQuartzTaskHandler defaultQuartzTaskHandler = new DefaultQuartzTaskHandler();
defaultQuartzTaskHandler.setScheduler(scheduler());
return defaultQuartzTaskHandler;
}
}
quartz使用 Apache License 2.0 协议
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. 开源生态
2. 协作、人、软件
3. 评估模型