springboot中使用xxljob
时间: 2023-01-31 12:57:00 浏览: 102
在 Spring Boot 中使用 XXL-JOB 执行分布式任务有以下几步:
1. 在 pom.xml 文件中添加 XXL-JOB 依赖:
```
<dependency>
<groupId>com.xuxueli</groupId>
<artifactId>xxl-job-core</artifactId>
<version>2.2.0</version>
</dependency>
```
2. 在 Spring Boot 应用中添加 @EnableScheduling 注解开启调度功能,并在应用启动类上添加 @ComponentScan(basePackages = {"com.xxl.job.executor.service.jobhandler"}) 注解扫描 XXL-JOB 任务处理器包(注意需要替换成自己的包名)。
```java
@SpringBootApplication
@EnableScheduling
@ComponentScan(basePackages = {"com.xxl.job.executor.service.jobhandler"})
public class XxlJobExecutorApplication {
public static void main(String[] args) {
SpringApplication.run(XxlJobExecutorApplication.class, args);
}
}
```
3. 在 application.yml 配置文件中添加 XXL-JOB 相关配置,包括调度中心地址、执行器名称、执行器地址、认证密钥等。
```yaml
xxl:
job:
admin:
addresses: http://localhost:8080/xxl-job-admin
executor:
appname: xxl-job-executor-sample
ip:
port: 9999
logpath: /data/applogs/xxl-job/jobhandler
logretentiondays: 30
access-token:
access-key:
```
4. 创建任务处理器类,在类上添加 @JobHandler 注解,并实现 IXxlJobHandler 接口的 execute 方法。在 execute 方法中编写任务的具体逻辑。
```java
@JobHandler("demoJobHandler")
@Component
public class DemoJobHandler extends IJobHandler {
@Override
public ReturnT<String> execute(String param) throws Exception {
// 编写任