Explorar o código

Merge remote-tracking branch 'origin/master'

xujunwei %!s(int64=4) %!d(string=hai) anos
pai
achega
b100d50cf3

+ 32 - 0
framework-starter/mrxu-starter-xxljob/pom.xml

@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>com.mrxu</groupId>
+        <artifactId>mrxu-upgrader</artifactId>
+        <version>1.0-SNAPSHOT</version>
+        <relativePath/> <!-- lookup parent from repository -->
+    </parent>
+
+    <groupId>com.mrxu</groupId>
+    <artifactId>mrxu-starter-xxljob</artifactId>
+    <version>1.0-SNAPSHOT</version>
+    <packaging>jar</packaging>
+    <name>mrxu-starter-xxljob</name>
+    <description>mrxu starter</description>
+
+    <dependencies>
+        <dependency>
+            <groupId>com.mrxu</groupId>
+            <artifactId>framework-boot</artifactId>
+        </dependency>
+                <!-- xxl-job-core -->
+        <dependency>
+            <groupId>com.xuxueli</groupId>
+            <artifactId>xxl-job-core</artifactId>
+        </dependency>
+    </dependencies>
+
+</project>

+ 56 - 0
framework-starter/mrxu-starter-xxljob/src/main/java/com/mrxu/framework/stater/xxl/config/XxlJobConfig.java

@@ -0,0 +1,56 @@
+package com.mrxu.framework.stater.xxl.config;
+
+import com.xxl.job.core.executor.impl.XxlJobSpringExecutor;
+import org.apache.commons.lang.StringUtils;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
+import org.springframework.cloud.commons.util.InetUtils;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * 功能概要:[] <br>
+ *
+ * @author zzt
+ * @date 2021/11/19
+ */
+@Configuration
+@ConditionalOnProperty({"xxl.job.admin.addresses"})
+public class XxlJobConfig {
+    @Value("${xxl.job.admin.addresses}")
+    private String adminAddresses;
+    @Value("${xxl.job.accessToken:#{null}}")
+    private String accessToken;
+    @Value("${xxl.job.executor.appname}")
+    private String appname;
+    @Value("${xxl.job.executor.ip:#{null}}")
+    private String ip;
+    @Value("${xxl.job.executor.port:9999}")
+    private int port;
+    @Value("${xxl.job.executor.logpath:#{null}}")
+    private String logpath;
+    @Value("${xxl.job.executor.logretentiondays:21}")
+    private int logretentiondays;
+
+    public XxlJobConfig() {
+    }
+
+    @Bean
+    public XxlJobSpringExecutor xxlJobExecutor(InetUtils inetUtils) {
+        System.out.println("xxl-job-executor-spring-boot-starter config init.");
+        XxlJobSpringExecutor xxlJobSpringExecutor = new XxlJobSpringExecutor();
+        xxlJobSpringExecutor.setAdminAddresses(this.adminAddresses);
+        xxlJobSpringExecutor.setAppname(this.appname);
+        xxlJobSpringExecutor.setPort(this.port);
+        xxlJobSpringExecutor.setAccessToken(this.accessToken);
+        xxlJobSpringExecutor.setLogPath(this.logpath);
+        xxlJobSpringExecutor.setLogRetentionDays(this.logretentiondays);
+        if (StringUtils.isBlank(this.ip)) {
+            xxlJobSpringExecutor.setIp(inetUtils.findFirstNonLoopbackAddress().getHostAddress());
+        } else {
+            xxlJobSpringExecutor.setIp(this.ip);
+        }
+
+        return xxlJobSpringExecutor;
+    }
+}

+ 2 - 0
framework-starter/mrxu-starter-xxljob/src/main/resources/META-INF/spring.factories

@@ -0,0 +1,2 @@
+# 指定开启自动配置类
+org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.mrxu.framework.stater.xxl.config.XxlJobConfig