Commit cafeabed by huangfusuper

分布式锁

parent de2b0b9b
...@@ -42,7 +42,7 @@ public class DaemonScanThreadRunHelperRedisLock extends BaseDaemonScanThreadRunH ...@@ -42,7 +42,7 @@ public class DaemonScanThreadRunHelperRedisLock extends BaseDaemonScanThreadRunH
Long sleepTime = 0L; Long sleepTime = 0L;
try{ try{
//加锁 60秒后超时 //加锁 60秒后超时
if (RedissLockUtil.trlock(lockName, TimeUnit.SECONDS, 1)) { if (RedissLockUtil.trlock(lockName, TimeUnit.SECONDS, 30)) {
log.debug("------------{},加锁成功,锁名称为{}----------",threadName,lockName); log.debug("------------{},加锁成功,锁名称为{}----------",threadName,lockName);
dateAligned(CYCLE_INTERVAL,threadName); dateAligned(CYCLE_INTERVAL,threadName);
//调用业务操作 //调用业务操作
...@@ -52,7 +52,7 @@ public class DaemonScanThreadRunHelperRedisLock extends BaseDaemonScanThreadRunH ...@@ -52,7 +52,7 @@ public class DaemonScanThreadRunHelperRedisLock extends BaseDaemonScanThreadRunH
} }
}catch (Exception e) { }catch (Exception e) {
if(!THREAD_GROUP_STOP){ if(!THREAD_GROUP_STOP){
e.printStackTrace(); log.error("---------{}---------",e.getMessage());
} }
}finally { }finally {
RedissLockUtil.unlock(lockName); RedissLockUtil.unlock(lockName);
......
...@@ -11,6 +11,7 @@ import lombok.extern.slf4j.Slf4j; ...@@ -11,6 +11,7 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.net.InetAddress; import java.net.InetAddress;
...@@ -226,6 +227,7 @@ public class RunRecordingAndJobTaskServiceImpl implements RunRecordingAndJobTask ...@@ -226,6 +227,7 @@ public class RunRecordingAndJobTaskServiceImpl implements RunRecordingAndJobTask
} }
@Override @Override
@Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRED)
public void updateRunRecordingAndTask(WaitingRecord waitingRecord) { public void updateRunRecordingAndTask(WaitingRecord waitingRecord) {
log.debug("---------开始查询等待工作流{}对应的数据-------------",waitingRecord); log.debug("---------开始查询等待工作流{}对应的数据-------------",waitingRecord);
RunRecording runRecording = runRecordingService.findAllByRunID(waitingRecord.getRunId()); RunRecording runRecording = runRecordingService.findAllByRunID(waitingRecord.getRunId());
......
...@@ -18,7 +18,12 @@ public class RedissonDistributedLocker implements DistributedLocker { ...@@ -18,7 +18,12 @@ public class RedissonDistributedLocker implements DistributedLocker {
@Override @Override
public void unlock(String lockKey) { public void unlock(String lockKey) {
RLock lock = redissonClient.getLock(lockKey); RLock lock = redissonClient.getLock(lockKey);
lock.unlock(); try{
lock.unlock();
}catch (IllegalMonitorStateException sta) {
log.warn("--------解锁错误{}---------",sta.getMessage());
}
} }
@Override @Override
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment