From 5bfbe789138c83b0614a4a99990ac05bd5afb4c3 Mon Sep 17 00:00:00 2001 From: wuyibo <771227828@qq.com> Date: Fri, 28 Jul 2023 17:02:46 +0800 Subject: [PATCH] =?UTF-8?q?xxl-job=20=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ruoyi/system/RuoYiSystemApplication.java | 20 +++++++ .../configProperties/XxlJobProperties.java | 53 +++++++++++++++++++ 2 files changed, 73 insertions(+) create mode 100644 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/configProperties/XxlJobProperties.java diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/RuoYiSystemApplication.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/RuoYiSystemApplication.java index a3d0d351..d3e35c68 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/RuoYiSystemApplication.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/RuoYiSystemApplication.java @@ -1,6 +1,10 @@ package com.ruoyi.system; import com.github.pagehelper.PageInterceptor; +import com.ruoyi.system.configProperties.XxlJobProperties; +import com.xxl.job.core.executor.impl.XxlJobSpringExecutor; +import lombok.extern.log4j.Log4j2; import lombok.var; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import com.ruoyi.common.security.annotation.EnableCustomConfig; @@ -15,6 +19,7 @@ import org.springframework.web.client.RestTemplate; * * @author ruoyi */ +@Log4j2 @EnableCustomConfig @EnableCustomSwagger2 @EnableRyFeignClients @@ -50,4 +55,19 @@ public class RuoYiSystemApplication //i.setProperties(null); return i; } + @Autowired + private XxlJobProperties xxlJobProperties; + @Bean + public XxlJobSpringExecutor xxlJobExecutor() { + System.out.println(">>>>>>>>>>> xxl-job config init from nacos"); + XxlJobSpringExecutor xxlJobSpringExecutor = new XxlJobSpringExecutor(); + xxlJobSpringExecutor.setAdminAddresses(xxlJobProperties.getAdmin().getAddresses()); + xxlJobSpringExecutor.setAppname(xxlJobProperties.getExecutor().getAppname()); + xxlJobSpringExecutor.setIp(xxlJobProperties.getExecutor().getIp()); + xxlJobSpringExecutor.setPort(xxlJobProperties.getExecutor().getPort()); + xxlJobSpringExecutor.setAccessToken(xxlJobProperties.getAccessToken()); + xxlJobSpringExecutor.setLogPath(xxlJobProperties.getExecutor().getLogpath()); + xxlJobSpringExecutor.setLogRetentionDays(xxlJobProperties.getExecutor().getLogretentiondays()); + return xxlJobSpringExecutor; + } } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/configProperties/XxlJobProperties.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/configProperties/XxlJobProperties.java new file mode 100644 index 00000000..ac0e9283 --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/configProperties/XxlJobProperties.java @@ -0,0 +1,53 @@ +package com.ruoyi.system.configProperties; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.cloud.context.config.annotation.RefreshScope; +import org.springframework.stereotype.Component; + +@Component +@Data +@ConfigurationProperties("xxl.job") +@RefreshScope +public class XxlJobProperties { + + /** + * admin : {"addresses":"http://192.168.2.165:32530/xxl-job-admin"} + * executor : {"ip":null,"port":9999,"logpath":"/data/applogs/xxl-job/jobhandler","appname":"xxl-job-001"} + * accessToken : null + */ + + private AdminBean admin; + private ExecutorBean executor; + private String accessToken; + + + @Setter + @Getter + public static class AdminBean { + /** + * addresses : http://192.168.2.165:32530/xxl-job-admin + */ + + private String addresses; + + + } + @Setter + @Getter + public static class ExecutorBean { + /** + * ip : null + * port : 9999 + * logpath : /data/applogs/xxl-job/jobhandler + * appname : xxl-job-001 + */ + + private String ip; + private int port; + private String logpath; + private String appname; + private int logretentiondays; + } +}