redisson 分布式定时任务 代码
时间: 2023-07-04 14:09:07 浏览: 140
mysql数据库项目-MySQL数据库设计与实现-图书管理系统的实例详解
下面是使用 Redisson 实现分布式定时任务的代码示例:
```java
import org.redisson.Redisson;
import org.redisson.api.RScheduledExecutorService;
import org.redisson.api.RedissonClient;
import org.redisson.config.Config;
import java.util.concurrent.TimeUnit;
public class DistributedScheduler {
public static void main(String[] args) throws InterruptedException {
Config config = new Config();
config.useSingleServer().setAddress("redis://127.0.0.1:6379");
RedissonClient redissonClient = Redisson.create(config);
RScheduledExecutorService executorService = redissonClient.getExecutorService("scheduler");
executorService.schedule(new RunnableTask(), 10, TimeUnit.SECONDS);
Thread.sleep(60000);
redissonClient.shutdown();
}
private static class RunnableTask implements Runnable {
@Override
public void run() {
System.out.println("Task executed at " + System.currentTimeMillis());
}
}
}
```
上述代码中,我们首先创建了一个 Redisson 客户端,并且获取到了一个分布式的 ScheduledExecutorService 实例。然后,在调用 `schedule` 方法时,我们传入了一个 RunnableTask 和 10 秒的延迟时间。这表示在 10 秒后,RunnableTask 将会被执行。
最后,我们让程序睡眠 60 秒,以便让任务有时间被执行。在任务被执行后,我们调用了客户端的 `shutdown` 方法关闭了 Redisson 客户端。
阅读全文