import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
@AllArgsConstructor
@Component
@Slf4j
public class SyncToItcmUserTask {
final StringRedisTemplate redisTemplate;
final String USER_KEY = "sync:it:user";
@Scheduled(cron = "0 09 19 * * ?")
public void syncData() {
Boolean exist = redisTemplate.opsForValue().setIfAbsent(USER_KEY, "syncUser", 3, TimeUnit.SECONDS);
if (exist){
// 业务逻辑
System.out.println("任务1开始了....");
}else {
System.out.println("任务1锁住了....");
}
}
}
springboot项目,分布式锁 + 定时任务
最新推荐文章于 2024-02-23 10:17:37 发布