springboot单服务怎么使用xxl-job,详细
时间: 2023-10-24 18:30:37 浏览: 88
使用xxl-job来实现分布式任务调度可以分为以下几个步骤:
1. 集成xxl-job
在pom.xml文件中添加xxl-job-core依赖:
```xml
<dependency>
<groupId>com.xxl-job</groupId>
<artifactId>xxl-job-core</artifactId>
<version>2.3.0</version>
</dependency>
```
2. 配置xxl-job
在application.yml文件中添加xxl-job的配置:
```yaml
xxl:
job:
# 调度中心配置
admin:
addresses: http://localhost:8080/xxl-job-admin
accessToken:
# 执行器配置
executor:
appname: executor-demo
address: localhost:9999
ip:
port: 9999
accessToken:
logPath: /data/applogs/xxl-job/jobhandler
logRetentionDays: 30
```
其中,调度中心地址为http://localhost:8080/xxl-job-admin,执行器地址为localhost:9999。
3. 创建任务
在Spring Boot应用中创建任务需要遵循以下规则:
1. 使用@XxlJob注解标注任务方法;
2. 方法必须是public修饰符、void返回类型、只有一个JobParameter参数;
3. 方法名称可以自定义,但是需要保证在同一个执行器中唯一。
示例代码如下:
```java
@Service
public class DemoJobHandler {
@XxlJob("demoJobHandler")
public void demoJobHandler(JobParameter param) throws Exception {
// 业务逻辑
}
}
```
4. 启动任务执行器
在Spring Boot应用中启动任务执行器需要在启动类上添加@EnableXxlJob注解,并且实现XxlJobSpringExecutorConfigurer接口:
```java
@SpringBootApplication
@EnableXxlJob
public class Application implements XxlJobSpringExecutorConfigurer {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
@Override
public void configureXxlJobExecutor(XxlJobSpringExecutor executor) {
executor.setAppname("executor-demo");
executor.setAddress("localhost:9999");
executor.setIp(null);
executor.setPort(9999);
executor.setLogPath("/data/applogs/xxl-job/jobhandler");
executor.setLogRetentionDays(30);
}
}
```
5. 登录xxl-job调度中心
在浏览器中输入http://localhost:8080/xxl-job-admin,使用默认账号密码admin/123456登录xxl-job调度中心。
6. 创建任务
在xxl-job调度中心中创建任务,填写任务信息、执行器信息、调度策略和触发器信息,最后保存并启动任务即可。
以上就是使用xxl-job实现分布式任务调度的详细步骤。
阅读全文