xxl-job例子
时间: 2023-06-28 14:11:21 浏览: 53
xxl-job 是一个分布式任务调度平台,可以实现任务的定时执行、分片执行、任务监控等功能。下面是一个简单的 xxl-job 的例子:
1. 引入 xxl-job 的依赖
```xml
<dependency>
<groupId>com.xxl-job</groupId>
<artifactId>xxl-job-core</artifactId>
<version>2.3.0</version>
</dependency>
```
2. 编写任务类
```java
public class MyJobHandler extends IJobHandler {
@Override
public ReturnT<String> execute(String param) throws Exception {
System.out.println("Hello xxl-job!");
return ReturnT.SUCCESS;
}
}
```
3. 注册任务类
```java
@Bean(initMethod = "start", destroyMethod = "destroy")
public XxlJobSpringExecutor xxlJobExecutor() {
XxlJobSpringExecutor executor = new XxlJobSpringExecutor();
executor.setAdminAddresses(adminAddresses);
executor.setAppname(appName);
executor.setAddress(address);
executor.setIp(ip);
executor.setPort(port);
executor.setAccessToken(accessToken);
executor.setLogPath(logPath);
executor.setLogRetentionDays(logRetentionDays);
// 注册任务处理器
List<IJobHandler> jobHandlers = new ArrayList<>();
jobHandlers.add(new MyJobHandler());
executor.setJobHandlers(jobHandlers);
return executor;
}
```
4. 配置任务
在 xxl-job 管理后台中,新增任务,配置任务名称、cron 表达式、路由策略等信息,并指定任务处理器为 `com.example.MyJobHandler`。
5. 运行任务
启动 xxl-job 执行器,任务将会按照设定的 cron 表达式定时执行。
```java
@SpringBootApplication
@EnableScheduling
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
@Bean(initMethod = "start", destroyMethod = "destroy")
public XxlJobSpringExecutor xxlJobExecutor() {
// ...
}
}
```