springcloud集成 xxl-job


這兩天做了公司項目集成xxl-job,記錄一下

xxl-job-admin調度中心直接移植,在pom里引入一下core的依賴,我用了最新的版本

 

<dependency>
  <groupId>com.xuxueli</groupId>
  <artifactId>xxl-job-core</artifactId>
  <version>2.1.2</version>
</dependency>

 

執行器參考了 springboot的示例,引入一下core依賴.

項目使用eureka作為注冊中心,從eureka獲取調度中心的地址,所以修改了一下yml 和 XxlJobConfig

 

xxl:
  job:
    executor:
      logpath: /home/jar/public/job-service/log/jobhandler
      appname: yurun-job
      port: -1
      logretentiondays: 10
      ip:
    # 調度中心 eureka服務
    admin:
      addresses: job-admin-service
    accessToken:
XxlJobConfig
   @Bean public XxlJobSpringExecutor xxlJobExecutor() { logger.info(">>>>>>>>>>> xxl-job config init."); XxlJobSpringExecutor xxlJobSpringExecutor = new XxlJobSpringExecutor(); //服務發現 從eureka拉取服務 dll
        List<String> urls = Lists.newArrayList(); List<ServiceInstance> instances = discoveryClient.getInstances(adminAddresses); if(StringUtils.isNotEmpty(instances)) { instances.forEach(serviceInstance->{ urls.add("http://"+ serviceInstance.getHost() + ":" + serviceInstance.getPort()); }); } xxlJobSpringExecutor.setAdminAddresses(String.join(",",urls));  xxlJobSpringExecutor.setAppName(appName); xxlJobSpringExecutor.setIp(ip); xxlJobSpringExecutor.setPort(port); xxlJobSpringExecutor.setAccessToken(accessToken); xxlJobSpringExecutor.setLogPath(logPath); xxlJobSpringExecutor.setLogRetentionDays(logRetentionDays); return xxlJobSpringExecutor; }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM