TaskHandleServiceImpl.java
@Slf4j@Servicepublic class TaskHandleServiceImpl implements ITaskHandleService {@Overridepublic void drawReward(SysUser sysUser, DrawTaskBeanBo drawTaskBeanBo) {RLock lock = redissonClusterClient.getLock(LockConstants.ACTIVE_NUM_LOCK);boolean isLock = false;if (!Thread.currentThread().isInterrupted()) {try {isLock = lock.tryLock(0, 30L, TimeUnit.SECONDS);log.info("Sync activeNum data - acquire the distributed lock:{}", isLock);if (!isLock) {return null;}//执行业务逻辑dowork(sysUser,drawTaskBeanBo);} catch (Exception e) {log.error("获取分布锁 {} 时: {} 出现异常", LockConstants.ACTIVE_NUM_LOCK, e);} finally {try {if(lock.isLocked()){if(lock.isHeldByCurrentThread()){log.info("Thread:{} release distributed lock success", Thread.currentThread().getName() +":"+Thread.currentThread().getId());lock.unlock();}}} catch (Exception e) {log.warn("Sync activeNum data - unlock the distributed lock:{}", e);}log.info("Sync activeNum data...... {}", LocalDateTime.now());}}}}
