初始化

master
晨哀 2024-08-08 21:48:12 +08:00
commit cc85ef62d8
6 changed files with 215 additions and 0 deletions

46
.gitignore vendored 100644
View File

@ -0,0 +1,46 @@
######################################################################
# Build Tools
.gradle
/build/
!gradle/wrapper/gradle-wrapper.jar
target/
!.mvn/wrapper/maven-wrapper.jar
######################################################################
# IDE
### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
### JRebel ###
rebel.xml
### NetBeans ###
nbproject/private/
build/*
nbbuild/
dist/
nbdist/
.nb-gradle/
######################################################################
# Others
*.log
*.xml.versionsBackup
*.swp
!*/build/*.java
!*/build/*.html
!*/build/*.xml

37
pom.xml 100644
View File

@ -0,0 +1,37 @@
<?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.muyu</groupId>
<artifactId>cloud-common</artifactId>
<version>3.6.3</version>
</parent>
<artifactId>cloud-common-xxl</artifactId>
<description>XllJob定时任务</description>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<!-- MuYu Common Core-->
<dependency>
<groupId>com.muyu</groupId>
<artifactId>cloud-common-core</artifactId>
</dependency>
<!-- xxl-job-core -->
<dependency>
<groupId>com.xuxueli</groupId>
<artifactId>xxl-job-core</artifactId>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,28 @@
package com.muyu.common.xxl;
import com.muyu.common.core.utils.StringUtils;
import com.xxl.job.core.executor.impl.XxlJobSpringExecutor;
import lombok.extern.log4j.Log4j2;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Component;
@Log4j2
@Component
public class XXLJobConfig {
@Bean
public XxlJobSpringExecutor xxlJobExecutor(XxlJobProperties xxlJobProperties) {
if (StringUtils.isEmpty(xxlJobProperties.getAdminAddresses())){
throw new RuntimeException("请在bootstrap.yml当中配置shared-configs项xxl-job共享配置[application-xxl-config]");
}
XxlJobSpringExecutor xxlJobSpringExecutor = new XxlJobSpringExecutor();
xxlJobSpringExecutor.setAdminAddresses(xxlJobProperties.getAdminAddresses());
xxlJobSpringExecutor.setAppname(xxlJobProperties.getAppName());
xxlJobSpringExecutor.setIp(xxlJobProperties.getIp());
xxlJobSpringExecutor.setPort(xxlJobProperties.getPort());
xxlJobSpringExecutor.setAccessToken(xxlJobProperties.getAccessToken());
xxlJobSpringExecutor.setLogPath(xxlJobProperties.getLogPath());
xxlJobSpringExecutor.setLogRetentionDays(xxlJobProperties.getLogRetentionDays());
log.info(">>>>>>>>>>> xxl-job config init success.");
return xxlJobSpringExecutor;
}
}

View File

@ -0,0 +1,63 @@
package com.muyu.common.xxl;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
@Data
@Configuration
@ConfigurationProperties(prefix = "xxl-job")
public class XxlJobProperties {
/**
* []
* 使"执行器心跳注册""任务结果回调"
*
*/
private String adminAddresses;
/**
* TOKEN []
*
*/
private String accessToken;
/**
* AppName []
*
*/
private String appName;
/**
* []
* 使使 IP:PORT
* IP
*/
private String address;
/**
* IP []
* IPIPIPHost
* "执行器注册" "调度中心请求并触发任务"
*/
private String ip;
/**
* []
* 09999
*
*/
private int port;
/**
* []
* 使
*/
private String logPath;
/**
* []
* , 3; , -1,
*/
private int logRetentionDays;
}

View File

@ -0,0 +1,38 @@
package com.muyu.common.xxl.demo;
import com.xxl.job.core.context.XxlJobHelper;
import com.xxl.job.core.handler.annotation.XxlJob;
import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Component;
@Log4j2
@Component
public class XxlJobDemoService {
/**
*
*/
@XxlJob("xxl-job-demo-no-param")
public void xxlJobDemoNoParam(){
log.info("调度名称:[{}] - 无参", "xxl-job-demo-no-param");
}
/**
*
*/
@XxlJob("xxl-job-demo-one-param")
public void xxlJobDemoOneParam(){
String param = XxlJobHelper.getJobParam();
log.info("调度名称:[{}] - 参数:[{}]", "xxl-job-demo-one-param", param);
}
/**
*
*/
@XxlJob("xxl-job-slice-demo")
public void xxlJobSliceDemo(){
int shardTotal = XxlJobHelper.getShardTotal();
int shardIndex = XxlJobHelper.getShardIndex();
String param = XxlJobHelper.getJobParam();
log.info("调度名称:[{}-[{}/{}(分片位置/分片总数)]] - 参数:[{}]", "xxl-job-slice-demo",shardIndex, shardTotal, param);
}
}

View File

@ -0,0 +1,3 @@
com.muyu.common.xxl.XXLJobConfig
com.muyu.common.xxl.XxlJobProperties
com.muyu.common.xxl.demo.XxlJobDemoService