springboot quartz 多任务整合
来源:互联网 发布:淘宝刷単软件 编辑:程序博客网 时间:2024/06/06 01:48
最近在做定时任务, 参考了一下这位老兄的文章
http://blog.csdn.net/liuchuanhong1/article/details/60873295
接下来遇到一个问题, 就是多任务, 上面文章中主要讲的是单任务的. 也在网上找了下, 发现都有些复杂.
我觉得springboot 不应该这么笨, 肯定有简单的办法. 所以研究了一下. 下面贴出我的代码
@Configurationpublic class QuartzConfigration{ /** * attention: 名字必须是 jobDetail * Details:配置定时任务 */ @Bean(name = "jobCommissionDetail") public MethodInvokingJobDetailFactoryBean balanceCommissionDetail(BalanceCommission task) { // ScheduleTask为需要执行的任务 MethodInvokingJobDetailFactoryBean jobDetail = new MethodInvokingJobDetailFactoryBean(); jobDetail.setConcurrent(false);//是否并发执行 jobDetail.setName("balanceCommission");// 设置任务的名字 jobDetail.setGroup("balance");// 设置任务的分组,这些属性都可以存储在数据库中,在多任务的时候使用 jobDetail.setTargetObject(task);//为需要执行的实体类对应的对象 //通过这几个配置,告诉JobDetailFactoryBean我们需要执行定时执行ScheduleTask类中的balanceProfit方法 jobDetail.setTargetMethod("execute"); return jobDetail; } @Bean(name = "jobProfitDetail") public MethodInvokingJobDetailFactoryBean balanceProfitDetail(BalanceProfit task) { // ScheduleTask为需要执行的任务 MethodInvokingJobDetailFactoryBean jobDetail = new MethodInvokingJobDetailFactoryBean(); jobDetail.setConcurrent(false);//是否并发执行 jobDetail.setName("balanceProfit");// 设置任务的名字 jobDetail.setGroup("balance");// 设置任务的分组,这些属性都可以存储在数据库中,在多任务的时候使用 jobDetail.setTargetObject(task);//为需要执行的实体类对应的对象 jobDetail.setTargetMethod("execute"); return jobDetail; } @Bean public JobDetailDO getJobDetails(List<MethodInvokingJobDetailFactoryBean> list) { JobDetailDO detailDO = new JobDetailDO(); for (MethodInvokingJobDetailFactoryBean jobDetail : list) { detailDO.addJobDetail(jobDetail); } return detailDO; }// @Bean// public CronTriggerFactoryBean commissionTrigger(JobDetailDO jobDetails)// {// CronTriggerFactoryBean cronTrigger = new CronTriggerFactoryBean();// cronTrigger.setJobDetail(jobDetails.getJobDetail("balanceCommission").getObject());// cronTrigger.setCronExpression("*/1 * * * * ?");// 初始时的cron表达式// cronTrigger.setName("trigger-balanceCommission");// trigger的name// return cronTrigger;// } @Bean public CronTriggerFactoryBean commissionTrigger2(JobDetailDO jobDetails) { CronTriggerFactoryBean cronTrigger = new CronTriggerFactoryBean(); cronTrigger.setJobDetail(jobDetails.getJobDetail("balanceProfit").getObject()); cronTrigger.setCronExpression("*/5 * * * * ?");// 初始时的cron表达式 cronTrigger.setName("trigger-balanceProfit");// trigger的name return cronTrigger; } /** * attention: * Details:定义quartz调度工厂 */ @Bean(name = "scheduler") public SchedulerFactoryBean schedulerFactory(Trigger... triggers) { SchedulerFactoryBean bean = new SchedulerFactoryBean(); // 用于quartz集群,QuartzScheduler 启动时更新己存在的Job bean.setOverwriteExistingJobs(true); // TODO 这句还没理解 // 延时启动,应用启动1秒后 bean.setStartupDelay(1); // 注册触发器 bean.setTriggers(triggers); return bean; }}
阅读全文
0 0
- springboot quartz 多任务整合
- springBoot整合quartz(多任务)
- springboot整合quartz实现定时任务
- 6. springboot整合quartz实现定时任务
- 定时任务quartz与spring整合(springboot)
- springboot整合quartz实现定时任务
- SpringBoot整合Quartz 2实现定时任务之一:整合
- SpringBoot整合quartz(支持多个任务和job支持spring管理的对象)
- 【spring-boot】 springboot整合quartz实现定时任务(转载)
- SpringBoot整合Quartz-动态读取任务执行(2.2.1)
- springboot整合Quartz实现动态配置定时任务
- SpringBoot整合Quartz-动态读取任务执行(2.2.1)
- springboot整合Quartz实现动态配置定时任务
- springboot整合Quartz实现动态配置定时任务
- springboot动态配置定时任务2种方式,整合Quartz多线程并发执行多个定时任务配置
- springboot动态配置定时任务2种方式,整合Quartz多线程并发执行多个定时任务配置
- SpringBoot整合Quartz支持集群
- SpringBoot 整合Mybatis/Druid/Quartz
- 2017-11-18-mongo-笔记
- 递归之整数的划分问题
- IP协议协议--IP头部信息
- 计算机的启动
- UML基础知识
- springboot quartz 多任务整合
- Python笔记——(一)文本编码
- ID3—决策树算法
- 使用navicat的SSH隧道连接数据库
- C++工厂模式汇总
- jvm
- 03-常用对象API(String类-常见功能-获取_1) 1 2 3 05-常用对象API(String类-常见功能-转换)1 2 3 4
- Dubbo基于注解方式的配置
- deepmind_lab msys2-x86_64-20161025的下载----安装相关的东西