diff --git a/src/main/java/neatlogic/framework/dao/cache/NeatLogicConcurrentSafeCache.java b/src/main/java/neatlogic/framework/dao/cache/NeatLogicConcurrentSafeCache.java
index 15fbed660abe1d5f41b0d5b207057c6e59c86f2f..eed2e05690fffbabfa43eb6bd5944b463d56c976 100644
--- a/src/main/java/neatlogic/framework/dao/cache/NeatLogicConcurrentSafeCache.java
+++ b/src/main/java/neatlogic/framework/dao/cache/NeatLogicConcurrentSafeCache.java
@@ -203,6 +203,12 @@ public class NeatLogicConcurrentSafeCache implements Cache {
obj = cachedElement.getObjectValue();
ehcache.remove(key);
}
+ String lockKey = generateLockKey(getId(), key);
+ ReentrantLock lock = LOCAL_LOCK_MAP.get(lockKey);
+ if (lock != null && lock.isLocked() && lock.isHeldByCurrentThread()) {
+ LOCAL_LOCK_MAP.remove(lockKey, lock);
+ lock.unlock();
+ }
return obj;
}
diff --git a/src/main/java/neatlogic/framework/dao/mapper/UserMapper.xml b/src/main/java/neatlogic/framework/dao/mapper/UserMapper.xml
index 3b67d03d6e947a84b623bb555514f02dd8120547..47745c31b079a18276150f66f127cae24f9cd7d3 100644
--- a/src/main/java/neatlogic/framework/dao/mapper/UserMapper.xml
+++ b/src/main/java/neatlogic/framework/dao/mapper/UserMapper.xml
@@ -454,7 +454,7 @@ along with this program. If not, see .-->
WHERE `user_uuid` = #{userUuid}
-