Skip to content

Commit 429076f

Browse files
committed
feat: 引入 xxl-job
1 parent 366909c commit 429076f

7 files changed

Lines changed: 130 additions & 0 deletions

File tree

common/plugin/job/pom.xml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<project xmlns="http://maven.apache.org/POM/4.0.0"
3+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
5+
<modelVersion>4.0.0</modelVersion>
6+
<parent>
7+
<groupId>com.github.cadecode</groupId>
8+
<artifactId>uni-boot-common-plugin</artifactId>
9+
<version>2023.1.2</version>
10+
</parent>
11+
12+
<artifactId>uni-boot-common-plugin-job</artifactId>
13+
14+
<dependencies>
15+
<dependency>
16+
<groupId>com.xuxueli</groupId>
17+
<artifactId>xxl-job-core</artifactId>
18+
</dependency>
19+
20+
<dependency>
21+
<groupId>com.github.cadecode</groupId>
22+
<artifactId>uni-boot-common-core</artifactId>
23+
</dependency>
24+
</dependencies>
25+
26+
</project>
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
package com.github.cadecode.uniboot.common.plugin.job.config;
2+
3+
import com.github.cadecode.uniboot.common.plugin.job.config.XxlJobProperties.XxlJobAdminProperties;
4+
import com.github.cadecode.uniboot.common.plugin.job.config.XxlJobProperties.XxlJobExecutorProperties;
5+
import com.xxl.job.core.executor.impl.XxlJobSpringExecutor;
6+
import lombok.extern.slf4j.Slf4j;
7+
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
8+
import org.springframework.boot.context.properties.EnableConfigurationProperties;
9+
import org.springframework.context.annotation.Bean;
10+
import org.springframework.context.annotation.Configuration;
11+
12+
/**
13+
* xxl-job 自动配置
14+
*
15+
* @author Cade Li
16+
* @since 2023/11/10
17+
*/
18+
@Slf4j
19+
@ConditionalOnProperty(name = "xxl.job.enabled", havingValue = "true")
20+
@EnableConfigurationProperties({XxlJobProperties.class, XxlJobAdminProperties.class, XxlJobExecutorProperties.class})
21+
@Configuration
22+
public class XxlJobAutoConfig {
23+
24+
@Bean
25+
public XxlJobSpringExecutor xxlJobExecutor(XxlJobProperties xxlJobProperties,
26+
XxlJobAdminProperties adminProperties,
27+
XxlJobExecutorProperties executorProperties) {
28+
log.info("xxl-job config init");
29+
// init executor
30+
XxlJobSpringExecutor xxlJobSpringExecutor = new XxlJobSpringExecutor();
31+
xxlJobSpringExecutor.setAdminAddresses(adminProperties.getAddresses());
32+
xxlJobSpringExecutor.setAccessToken(xxlJobProperties.getAccessToken());
33+
xxlJobSpringExecutor.setAppname(executorProperties.getAppname());
34+
xxlJobSpringExecutor.setAddress(executorProperties.getAddress());
35+
xxlJobSpringExecutor.setIp(executorProperties.getIp());
36+
xxlJobSpringExecutor.setPort(executorProperties.getPort());
37+
xxlJobSpringExecutor.setLogPath(executorProperties.getLogpath());
38+
xxlJobSpringExecutor.setLogRetentionDays(executorProperties.getLogRetentionDays());
39+
return xxlJobSpringExecutor;
40+
}
41+
}
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
package com.github.cadecode.uniboot.common.plugin.job.config;
2+
3+
import lombok.Data;
4+
import org.springframework.boot.context.properties.ConfigurationProperties;
5+
6+
/**
7+
* xxl-job 配置项
8+
*
9+
* @author Cade Li
10+
* @since 2023/11/10
11+
*/
12+
@ConfigurationProperties(prefix = "xxl.job")
13+
@Data
14+
public class XxlJobProperties {
15+
16+
private Boolean enabled;
17+
18+
private String accessToken;
19+
20+
21+
@ConfigurationProperties(prefix = "xxl.job.admin")
22+
@Data
23+
public static class XxlJobAdminProperties {
24+
25+
private String addresses;
26+
27+
}
28+
29+
@ConfigurationProperties(prefix = "xxl.job.executor")
30+
@Data
31+
public static class XxlJobExecutorProperties {
32+
33+
private String appname;
34+
35+
private String address;
36+
37+
private String ip;
38+
39+
private int port;
40+
41+
private String logpath;
42+
43+
private int logRetentionDays;
44+
}
45+
46+
}

common/plugin/pom.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
<module>concurrent</module>
2424
<module>mq</module>
2525
<module>storage</module>
26+
<module>job</module>
2627
</modules>
2728

2829
<dependencies>

dependencies/pom.xml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@
4545
<spring-plugin.version>2.0.0.RELEASE</spring-plugin.version>
4646
<multirabbit.version>2.5.0</multirabbit.version>
4747
<x-file-storage.version>2.0.0</x-file-storage.version>
48+
<xxl-job.version>2.4.0</xxl-job.version>
4849
</properties>
4950

5051
<dependencies>
@@ -230,6 +231,12 @@
230231
<artifactId>x-file-storage-spring</artifactId>
231232
<version>${x-file-storage.version}</version>
232233
</dependency>
234+
<!--xxl-job 调度支持-->
235+
<dependency>
236+
<groupId>com.xuxueli</groupId>
237+
<artifactId>xxl-job-core</artifactId>
238+
<version>${xxl-job.version}</version>
239+
</dependency>
233240
</dependencies>
234241
</dependencyManagement>
235242
</project>

example/example_svc/pom.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,10 @@
5353
<groupId>com.github.cadecode</groupId>
5454
<artifactId>uni-boot-common-plugin-actuator</artifactId>
5555
</dependency>
56+
<dependency>
57+
<groupId>com.github.cadecode</groupId>
58+
<artifactId>uni-boot-common-plugin-job</artifactId>
59+
</dependency>
5660
<dependency>
5761
<groupId>com.github.cadecode</groupId>
5862
<artifactId>uni-boot-example-api</artifactId>

pom.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,11 @@
7777
<artifactId>uni-boot-common-plugin-storage</artifactId>
7878
<version>${uni.version}</version>
7979
</dependency>
80+
<dependency>
81+
<groupId>com.github.cadecode</groupId>
82+
<artifactId>uni-boot-common-plugin-job</artifactId>
83+
<version>${uni.version}</version>
84+
</dependency>
8085
<dependency>
8186
<groupId>com.github.cadecode</groupId>
8287
<artifactId>uni-boot-framework-api</artifactId>

0 commit comments

Comments
 (0)