基于@Scheduled实现分布式任务定时调度常见的有两种方式:
第一种就是SpringBoot基于@Scheduled集成Redis实现分布式定时锁
第二种是SpringBoot集成ShedLock实现分布式定时锁
当然基于第一种方式也可以使用redisson客户端进行分布式锁
package com.adups.vota.stats.controller.schedulingstatscontroller;
import com.adups.vota.stats.service.schedulingstatsservice.TaskVehiclePredictSyncOnline;
import lombok.extern.slf4j.Slf4j;
import org.redisson.api.RLock;
import org.redisson.api.RedissonClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.util.concurrent.TimeUnit;
/**
* Created by ych on 2019/1/14.
*/
@Slf4j
@Component
public class TaskScheduled {
@Value("${env