完成学习xxl-job
This commit is contained in:
46
docker-compose-xxljob.yml
Normal file
46
docker-compose-xxljob.yml
Normal file
@@ -0,0 +1,46 @@
|
||||
services:
|
||||
# MySQL 服务(无数据持久化)
|
||||
mysql:
|
||||
image: mysql:8.0
|
||||
container_name: xxl-job-mysql
|
||||
ports:
|
||||
- "3307:3306"
|
||||
environment:
|
||||
- MYSQL_ROOT_PASSWORD=123456
|
||||
- MYSQL_DATABASE=xxl_job
|
||||
- MYSQL_ROOT_HOST=%
|
||||
- TZ=Asia/Shanghai
|
||||
command: --default-authentication-plugin=mysql_native_password
|
||||
restart: always
|
||||
networks:
|
||||
- xxl-job-network
|
||||
healthcheck:
|
||||
test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-p123456"]
|
||||
interval: 5s
|
||||
timeout: 3s
|
||||
retries: 10
|
||||
start_period: 10s
|
||||
|
||||
# XXL-Job 调度中心(核心,无持久化)
|
||||
xxl-job-admin:
|
||||
image: xuxueli/xxl-job-admin:2.4.1
|
||||
container_name: xxl-job-admin
|
||||
ports:
|
||||
- "8085:8080"
|
||||
environment:
|
||||
- TZ=Asia/Shanghai
|
||||
- SPRING_DATASOURCE_URL=jdbc:mysql://mysql:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai
|
||||
- SPRING_DATASOURCE_USERNAME=root
|
||||
- SPRING_DATASOURCE_PASSWORD=123456
|
||||
- XXL_JOB_ACCESS_TOKEN=default_token
|
||||
- XXL_JOB_LOG_RETENTION_DAYS=30
|
||||
depends_on:
|
||||
mysql:
|
||||
condition: service_healthy
|
||||
restart: always
|
||||
networks:
|
||||
- xxl-job-network
|
||||
|
||||
networks:
|
||||
xxl-job-network:
|
||||
driver: bridge
|
||||
@@ -82,5 +82,9 @@
|
||||
<groupId>org.apache.rocketmq</groupId>
|
||||
<artifactId>rocketmq-spring-boot-starter</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.xuxueli</groupId>
|
||||
<artifactId>xxl-job-core</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
package cn.mayiming.Config;
|
||||
|
||||
import com.xxl.job.core.executor.impl.XxlJobSpringExecutor;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
@Configuration
|
||||
public class XxlJobConfig {
|
||||
|
||||
@Value("${xxl.job.admin.addresses}")
|
||||
private String adminAddresses;
|
||||
|
||||
@Value("${xxl.job.executor.appname}")
|
||||
private String appname;
|
||||
|
||||
@Value("${xxl.job.accessToken}")
|
||||
private String accessToken;
|
||||
|
||||
@Value("${xxl.job.executor.port}")
|
||||
private int port;
|
||||
|
||||
// 初始化XXL-Job执行器
|
||||
@Bean
|
||||
public XxlJobSpringExecutor xxlJobExecutor() {
|
||||
XxlJobSpringExecutor executor = new XxlJobSpringExecutor();
|
||||
executor.setAdminAddresses(adminAddresses);
|
||||
executor.setAppname(appname);
|
||||
executor.setAccessToken(accessToken);
|
||||
executor.setPort(port);
|
||||
return executor;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package cn.mayiming.JobHandler;
|
||||
|
||||
import com.xxl.job.core.handler.annotation.XxlJob;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@Component
|
||||
public class executorDemo {
|
||||
@XxlJob("demoJobHandler")
|
||||
public void demoJobHandler() {
|
||||
// 这里写你的业务逻辑,比如:
|
||||
System.out.println("XXL-Job 执行器任务执行成功!当前时间:" + System.currentTimeMillis());
|
||||
|
||||
// 示例:定时订单超时取消、数据同步、日志清理等都可以写在这里
|
||||
}
|
||||
}
|
||||
@@ -52,4 +52,13 @@ rocketmq:
|
||||
# 消息最大长度(默认4M)
|
||||
max-message-size: 4194304
|
||||
# 压缩消息阈值(超过4K自动压缩)
|
||||
compress-message-body-threshold: 4096
|
||||
compress-message-body-threshold: 4096
|
||||
|
||||
xxl:
|
||||
job:
|
||||
admin:
|
||||
addresses: http://localhost:8085/xxl-job-admin # 调度中心访问地址(端口按你实际配置的来)
|
||||
executor:
|
||||
appname: xxl-job-executor-demo # 必须和控制台创建的执行器AppName完全一致!
|
||||
port: 9999 # 执行器端口(默认9999,可改)
|
||||
accessToken: default_token # 和调度中心的token一致(默认default_token)
|
||||
5
pom.xml
5
pom.xml
@@ -113,6 +113,11 @@
|
||||
<artifactId>rocketmq-spring-boot-starter</artifactId>
|
||||
<version>2.3.4</version> <!-- 适配 RocketMQ 5.x,建议2.2.x+ -->
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.xuxueli</groupId>
|
||||
<artifactId>xxl-job-core</artifactId>
|
||||
<version>2.4.1</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</dependencyManagement>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user