一、安装和启动xlljob项目
1、下载xxl-job的源代码
下载完后修改文件

注意:启动 XxlJobAdminApplication 的时候默认的端口是8080所以要保证没有其他的项目占用这个端口
启动后访问
http://localhost:8080/xxl-job-admin 用户名/密码: admin / 123456

二、创建spring boot项目(省略)
1、引入依赖
<!-- https://mvnrepository.com/artifact/com.xuxueli/xxl-job-core -->
<dependency>
<groupId>com.xuxueli</groupId>
<artifactId>xxl-job-core</artifactId>
<version>2.3.0</version>
</dependency>
2、修改配置文件(application.yml)
server:
port: 8878
spring:
application:
name: springBoot3Application
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/test?&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
username: root
password: root
xxl:
job:
admin:
address: http://192.168.100.119:8080/xxl-job-admin
accessToken: default_token
executor:
appname: ${spring.application.name}
address:
ip:
port: -1
logpath: /data/applogs/xxl-job/jobhandler
logRetentionDays: 30
参数不明白?官方文档!!

连接地址:中文官方文档
3、创建初始化
package com.example.springbootdemo3.config;
import com.xxl.job.core.executor.impl.XxlJobSpringExecutor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* @ClassName: XxlJobConfig
* @Description:
* @Author: TXW
* @Date: 2023/3/10
*/
@Configuration
public class XxlJobConfig {
private Logger logger = LoggerFactory.getLogger(XxlJobConfig.class);
@Value("${xxl.job.admin.address}")
private String adminAddresses;
@Value("${xxl.job.accessToken}")
private String accessToken;
@Value("${xxl.job.executor.appname}")
private String appname;
@Value("${xxl.job.executor.address}")
private String address;
@Value("${xxl.job.executor.ip}")
private String ip;
@Value("${xxl.job.executor.port}")
private int port;
@Value("${xxl.job.executor.logpath}")
private String logPath;
@Value("${xxl.job.executor.logRetentionDays}")
private int logRetentionDays;
@Bean
public XxlJobSpringExecutor xxlJobExecutor() {
logger.info(">>>>>>>>>>> xxl-job config init.");
XxlJobSpringExecutor xxlJobSpringExecutor = new XxlJobSpringExecutor();
xxlJobSpringExecutor.setAdminAddresses(adminAddresses);
xxlJobSpringExecutor.setAppname(appname);
xxlJobSpringExecutor.setAddress(address);
xxlJobSpringExecutor.setIp(ip);
xxlJobSpringExecutor.setPort(port);
xxlJobSpringExecutor.setAccessToken(accessToken);
xxlJobSpringExecutor.setLogPath(logPath);
xxlJobSpringExecutor.setLogRetentionDays(logRetentionDays);
return xxlJobSpringExecutor;
}
}
4、创建实例、启动项目
package com.example.springbootdemo3.xxlJob;
import com.example.springbootdemo3.entity.User;
import com.example.springbootdemo3.service.UserService;
import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.context.XxlJobHelper;
import com.xxl.job.core.handler.annotation.XxlJob;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.List;
/**
* @ClassName: XxlJobTask
* @Description:
* @Author: TXW
* @Date: 2023/3/10
*/
@Component
public class XxlJobTask {
private static Logger logger = LoggerFactory.getLogger(XxlJobTask.class);
@XxlJob("sampleTest")
public ReturnT<String> sampleTest(){
return ReturnT.SUCCESS;
}
}
三、创建任务管理任务
主要分为一下两步:
1、创建执行器



2、创建任务


我踩过的坑:
坑:我在这里执行一次的时候会成功,但是在启动的时候日志显示是报错的!
解:在执行器管理中的那个“online”的ip和你在“执行一次”的时候手动输入的ip不一样,哪个能成功就用哪个,然后再去yml文件中仔细揣摩。
详细内容请参考
执行结果成功的截图

