一、服务端
- 文档:https://www.xuxueli.com/xxl-job/
- 下载服务端:http://gitee.com/xuxueli0323/xxl-job
-
执行脚本,数据库建表
image.png - 打jar包,启动服务端
- 登录:http://localhost:8080/xxl-job-admin
默认登录账号 :admin/123456
二、客户端
2.1 依赖
<dependency>
<groupId>com.xuxueli</groupId>
<artifactId>xxl-job-core</artifactId>
<version>2.3.1</version>
</dependency>
2.2 配置文件、配置类
xxl:
job:
admin:
addresses: http://127.0.0.1:xxx/xxl-job-admin
accessToken: default_token
executor:
appname: xxx-xxx-executor
address:
ip:
port: xxx
logpath: /home/xxx/logs/xxljob
logretentiondays: 30
@Configuration
public class XxlJobConfig {
private Logger logger = LoggerFactory.getLogger(XxlJobConfig.class);
@Value("${xxl.job.admin.addresses}")
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;
}
}
2.3 创建任务
@XxlJob("testHandler")
public void test() {
XxlJobHelper.log("XXL-JOB, test");
log.info("xxljob-----------test----------");
}
三、示例
3.1 服务端新增任务
image.png
3.2 执行任务
image.png