Commit e4be0710 by huangfusuper

分布式锁资源释放

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