diff --git a/hsweb-web-concurrent/hsweb-web-concurrent-lock/src/main/java/org/hsweb/concurrent/lock/support/redis/RedisReadWriteLock.java b/hsweb-web-concurrent/hsweb-web-concurrent-lock/src/main/java/org/hsweb/concurrent/lock/support/redis/RedisReadWriteLock.java index 73731bfe7..8febdcb22 100644 --- a/hsweb-web-concurrent/hsweb-web-concurrent-lock/src/main/java/org/hsweb/concurrent/lock/support/redis/RedisReadWriteLock.java +++ b/hsweb-web-concurrent/hsweb-web-concurrent-lock/src/main/java/org/hsweb/concurrent/lock/support/redis/RedisReadWriteLock.java @@ -10,7 +10,6 @@ import org.springframework.scripting.support.ResourceScriptSource; import org.springframework.util.Assert; import java.util.*; -import java.util.concurrent.ConcurrentSkipListMap; import java.util.concurrent.TimeUnit; import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.Lock; @@ -37,9 +36,9 @@ public class RedisReadWriteLock implements ReadWriteLock { redisScriptRead = new DefaultRedisScript<>(); redisScriptWrite = new DefaultRedisScript<>(); - redisScriptRead.setScriptSource(new ResourceScriptSource(new ClassPathResource("MEAT_INF/scripts/vcheckAndSadd.lua"))); + redisScriptRead.setScriptSource(new ResourceScriptSource(new ClassPathResource("scripts/vcheckAndsAdd.lua", RedisReadWriteLock.class))); redisScriptRead.setResultType(Boolean.class); - redisScriptWrite.setScriptSource(new ResourceScriptSource(new ClassPathResource("MEAT_INF/scripts/scheckAndVset.lua"))); + redisScriptWrite.setScriptSource(new ResourceScriptSource(new ClassPathResource("scripts/scheckAndVset.lua", RedisReadWriteLock.class))); redisScriptWrite.setResultType(Boolean.class); } @@ -49,10 +48,10 @@ public class RedisReadWriteLock implements ReadWriteLock { Assert.notNull(key); Assert.notNull(redisTemplate); this.redisTemplate = new StringRedisTemplate(redisTemplate.getConnectionFactory()); - readLock = new ReadLock(); - writeLock = new WriteLock(); readLockKey = PREFIX + key + ".read.lock"; writeLockKey = PREFIX + key + ".write.lock"; + readLock = new ReadLock(); + writeLock = new WriteLock(); lockValue = UUID.randomUUID().toString(); } @@ -90,7 +89,6 @@ public class RedisReadWriteLock implements ReadWriteLock { } - class ReadLock implements Lock { private List keys = new ArrayList<>(); @@ -139,7 +137,7 @@ public class RedisReadWriteLock implements ReadWriteLock { @Override public boolean tryLock() { boolean locked = redisTemplate.execute(redisScriptRead, keys, lockValue()); - if (locked){ + if (locked) { expire(); } return locked; diff --git a/hsweb-web-concurrent/hsweb-web-concurrent-lock/src/main/resources/META-INF/scheckAndVset.lua b/hsweb-web-concurrent/hsweb-web-concurrent-lock/src/main/resources/org/hsweb/concurrent/lock/support/redis/scripts/scheckAndVset.lua similarity index 100% rename from hsweb-web-concurrent/hsweb-web-concurrent-lock/src/main/resources/META-INF/scheckAndVset.lua rename to hsweb-web-concurrent/hsweb-web-concurrent-lock/src/main/resources/org/hsweb/concurrent/lock/support/redis/scripts/scheckAndVset.lua diff --git a/hsweb-web-concurrent/hsweb-web-concurrent-lock/src/main/resources/META-INF/vcheckAndsAdd.lua b/hsweb-web-concurrent/hsweb-web-concurrent-lock/src/main/resources/org/hsweb/concurrent/lock/support/redis/scripts/vcheckAndsAdd.lua similarity index 100% rename from hsweb-web-concurrent/hsweb-web-concurrent-lock/src/main/resources/META-INF/vcheckAndsAdd.lua rename to hsweb-web-concurrent/hsweb-web-concurrent-lock/src/main/resources/org/hsweb/concurrent/lock/support/redis/scripts/vcheckAndsAdd.lua