日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

SpringBoot2.x整合quartz定时任务 快速入门

發布時間:2024/9/27 javascript 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SpringBoot2.x整合quartz定时任务 快速入门 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

      • 1. maven依賴
      • 2. QuartConfig配置文件
      • 3. 創建一個業務處理類UserService
      • 4. Job類 調用方法
      • 5. 手動將對象注入導視牌SringIOC容器類
      • 6. 啟動類加注解

1. maven依賴

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-quartz</artifactId></dependency>

2. QuartConfig配置文件

package com.gblfy;import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.quartz.*;@Configuration public class QuartConfig {// 1.創建job對象@Beanpublic JobDetailFactoryBean jobDetailFactoryBean() {JobDetailFactoryBean factory = new JobDetailFactoryBean();factory.setJobClass(QuartzDemo.class);return factory;}// 2.創建Tigger對象 簡單 // @Bean // public SimpleTriggerFactoryBean simpleTriggerFactoryBean(JobDetailFactoryBean jobDetailFactoryBean) { // SimpleTriggerFactoryBean factory = new SimpleTriggerFactoryBean(); // //關聯JobDetail對象 // factory.setJobDetail(jobDetailFactoryBean.getObject()); // factory.setRepeatInterval(2000); // factory.setRepeatCount(5); // //設置重次數 // return factory; // }@Beanpublic CronTriggerFactoryBean cronTriggerFactoryBean(JobDetailFactoryBean jobDetailFactoryBean) {CronTriggerFactoryBean factory = new CronTriggerFactoryBean();factory.setJobDetail(jobDetailFactoryBean.getObject());//設置觸發時間factory.setCronExpression("0/2 * * * * ?");return factory;}// 3.創建scheduler對象@Beanpublic SchedulerFactoryBean schedulerFactoryBean(CronTriggerFactoryBean cronTriggerFactoryBean, MyAdaptableJobFactory myAdaptableJobFactory) {SchedulerFactoryBean factory = new SchedulerFactoryBean();//關聯Tiggerfactory.setTriggers(cronTriggerFactoryBean.getObject());//注入對象并完成實例化factory.setJobFactory(myAdaptableJobFactory);return factory;}}

3. 創建一個業務處理類UserService

package com.gblfy;import org.springframework.stereotype.Service;@Service public class UserService {//模擬操作數據庫操作業務邏輯public void addUser() {System.out.println("add users....");} }

4. Job類 調用方法

package com.gblfy;import org.quartz.Job; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; import org.springframework.beans.factory.annotation.Autowired;import java.util.Date;/*** Job類*/ public class QuartzDemo implements Job {@Autowiredprivate UserService userService;@Overridepublic void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {System.out.println("execute:"+ new Date());this.userService.addUser();} }

5. 手動將對象注入導視牌SringIOC容器類

package com.gblfy;import org.quartz.spi.TriggerFiredBundle; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.config.AutowireCapableBeanFactory; import org.springframework.scheduling.quartz.AdaptableJobFactory; import org.springframework.stereotype.Component;/*** 手動將對象注入導視牌SringIOC容器類*/ @Component("myAdaptableJobFactory") public class MyAdaptableJobFactory extends AdaptableJobFactory {@Autowired//可以將一個對象添加到spring的ioc容器中,并完成對象屬性的注入private AutowireCapableBeanFactory autowireCapableBeanFactory;/*** 該方法需要將實例化的任務對象手動添加到springioc的容器中,并完成對象的注入** @param bundle* @return* @throws Exception*/@Overrideprotected Object createJobInstance(TriggerFiredBundle bundle) throws Exception {Object obj = super.createJobInstance(bundle);//將obj對象添加到spring的ioc容器中,并完成注入this.autowireCapableBeanFactory.autowireBean(obj);return obj;} }

6. 啟動類加注解

@EnableScheduling

總結

以上是生活随笔為你收集整理的SpringBoot2.x整合quartz定时任务 快速入门的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。