Commit e4be0710 by huangfusuper

分布式锁资源释放

parent f9a8d058
package com.byit.factory;
import com.byit.thread.BaseThreadRunHelper;
import com.byit.util.lock.RedissLockUtil;
import lombok.extern.slf4j.Slf4j;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
......@@ -41,6 +43,11 @@ public abstract class BaseDaemonScanThreadRunHelper implements DaemonScanThreadR
public static final Map<String,Thread> THREADS_MAP = new ConcurrentHashMap<>(8);
/**
* 用于磁存储所有的锁
*/
public static final Set<String> LOCK_NAMES = new HashSet<>(8);
/**
* 线程添加 将线程扫描器添加进线程管理池
* @param threadRunHelper 扫描器
*/
......@@ -48,6 +55,7 @@ public abstract class BaseDaemonScanThreadRunHelper implements DaemonScanThreadR
public void addThread(BaseThreadRunHelper threadRunHelper) {
String lockName = threadRunHelper.getLockName();
THREAD_RUN_OPT.put(lockName,threadRunHelper);
LOCK_NAMES.add(lockName);
}
/**
......@@ -74,6 +82,11 @@ public abstract class BaseDaemonScanThreadRunHelper implements DaemonScanThreadR
}
log.warn("--------{}线程被注销---------",threadName);
});
LOCK_NAMES.forEach(lockName ->{
log.warn("--------{}锁消除---------",lockName);
RedissLockUtil.unlock(lockName);
});
}
/**
......
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