diff --git a/redisson/src/main/java/org/redisson/transaction/operation/DeleteOperation.java b/redisson/src/main/java/org/redisson/transaction/operation/DeleteOperation.java index 29ced1be7..e04258cd2 100644 --- a/redisson/src/main/java/org/redisson/transaction/operation/DeleteOperation.java +++ b/redisson/src/main/java/org/redisson/transaction/operation/DeleteOperation.java @@ -30,17 +30,15 @@ public class DeleteOperation extends TransactionalOperation { private String lockName; private String transactionId; - private long threadId; - + public DeleteOperation(String name) { this(name, null, null, 0); } public DeleteOperation(String name, String lockName, String transactionId, long threadId) { - super(name, null); + super(name, null, threadId); this.lockName = lockName; this.transactionId = transactionId; - this.threadId = threadId; } @Override diff --git a/redisson/src/main/java/org/redisson/transaction/operation/map/MapOperation.java b/redisson/src/main/java/org/redisson/transaction/operation/map/MapOperation.java index 2fcf4a959..f4b20ed3b 100644 --- a/redisson/src/main/java/org/redisson/transaction/operation/map/MapOperation.java +++ b/redisson/src/main/java/org/redisson/transaction/operation/map/MapOperation.java @@ -36,7 +36,6 @@ public abstract class MapOperation extends TransactionalOperation { Object oldValue; RMap map; String transactionId; - long threadId; public MapOperation() { } @@ -46,13 +45,12 @@ public abstract class MapOperation extends TransactionalOperation { } public MapOperation(RMap map, Object key, Object value, Object oldValue, String transactionId, long threadId) { - super(map.getName(), map.getCodec()); + super(map.getName(), map.getCodec(), threadId); this.map = map; this.key = key; this.value = value; this.oldValue = oldValue; this.transactionId = transactionId; - this.threadId = threadId; } public Object getKey() { diff --git a/redisson/src/main/java/org/redisson/transaction/operation/set/AddCacheOperation.java b/redisson/src/main/java/org/redisson/transaction/operation/set/AddCacheOperation.java index 9b6cf4203..3156ae948 100644 --- a/redisson/src/main/java/org/redisson/transaction/operation/set/AddCacheOperation.java +++ b/redisson/src/main/java/org/redisson/transaction/operation/set/AddCacheOperation.java @@ -33,8 +33,7 @@ public class AddCacheOperation extends SetOperation { private Object value; private long ttl; private TimeUnit timeUnit; - private long threadId; - + public AddCacheOperation(RObject set, Object value, String transactionId, long threadId) { this(set, value, 0, null, transactionId, threadId); } @@ -44,11 +43,10 @@ public class AddCacheOperation extends SetOperation { } public AddCacheOperation(String name, Codec codec, Object value, long ttl, TimeUnit timeUnit, String transactionId, long threadId) { - super(name, codec, transactionId); + super(name, codec, transactionId, threadId); this.value = value; this.timeUnit = timeUnit; this.ttl = ttl; - this.threadId = threadId; } @Override @@ -64,7 +62,7 @@ public class AddCacheOperation extends SetOperation { @Override public void rollback(CommandAsyncExecutor commandExecutor) { - RSetCache set = new RedissonSetCache(codec, null, commandExecutor, name, null); + RSetCache set = new RedissonSetCache<>(codec, null, commandExecutor, name, null); getLock(set, commandExecutor, value).unlockAsync(threadId); } diff --git a/redisson/src/main/java/org/redisson/transaction/operation/set/AddOperation.java b/redisson/src/main/java/org/redisson/transaction/operation/set/AddOperation.java index 3050149d5..c52ef32d9 100644 --- a/redisson/src/main/java/org/redisson/transaction/operation/set/AddOperation.java +++ b/redisson/src/main/java/org/redisson/transaction/operation/set/AddOperation.java @@ -29,29 +29,27 @@ import org.redisson.command.CommandAsyncExecutor; public class AddOperation extends SetOperation { private Object value; - private long threadId; - + public AddOperation(RObject set, Object value, String transactionId, long threadId) { this(set.getName(), set.getCodec(), value, transactionId, threadId); } public AddOperation(String name, Codec codec, Object value, String transactionId, long threadId) { - super(name, codec, transactionId); + super(name, codec, transactionId, threadId); this.value = value; - this.threadId = threadId; } @Override public void commit(CommandAsyncExecutor commandExecutor) { RSet set = new RedissonSet(codec, commandExecutor, name, null); set.addAsync(value); - getLock(set, commandExecutor, value).unlockAsync(); + getLock(set, commandExecutor, value).unlockAsync(threadId); } @Override public void rollback(CommandAsyncExecutor commandExecutor) { RSet set = new RedissonSet(codec, commandExecutor, name, null); - getLock(set, commandExecutor, value).unlockAsync(); + getLock(set, commandExecutor, value).unlockAsync(threadId); } public Object getValue() { diff --git a/redisson/src/main/java/org/redisson/transaction/operation/set/MoveOperation.java b/redisson/src/main/java/org/redisson/transaction/operation/set/MoveOperation.java index 3e4c6b529..311547ee5 100644 --- a/redisson/src/main/java/org/redisson/transaction/operation/set/MoveOperation.java +++ b/redisson/src/main/java/org/redisson/transaction/operation/set/MoveOperation.java @@ -30,17 +30,15 @@ public class MoveOperation extends SetOperation { private String destinationName; private Object value; - private long threadId; - + public MoveOperation(RObject set, String destinationName, long threadId, Object value, String transactionId) { this(set.getName(), set.getCodec(), destinationName, threadId, value, transactionId); } public MoveOperation(String name, Codec codec, String destinationName, long threadId, Object value, String transactionId) { - super(name, codec, transactionId); + super(name, codec, transactionId, threadId); this.destinationName = destinationName; this.value = value; - this.threadId = threadId; } @Override diff --git a/redisson/src/main/java/org/redisson/transaction/operation/set/RemoveCacheOperation.java b/redisson/src/main/java/org/redisson/transaction/operation/set/RemoveCacheOperation.java index f2156db63..c9e6546ed 100644 --- a/redisson/src/main/java/org/redisson/transaction/operation/set/RemoveCacheOperation.java +++ b/redisson/src/main/java/org/redisson/transaction/operation/set/RemoveCacheOperation.java @@ -29,28 +29,26 @@ import org.redisson.command.CommandAsyncExecutor; public class RemoveCacheOperation extends SetOperation { private Object value; - private long threadId; public RemoveCacheOperation(RObject set, Object value, String transactionId, long threadId) { this(set.getName(), set.getCodec(), value, transactionId, threadId); } public RemoveCacheOperation(String name, Codec codec, Object value, String transactionId, long threadId) { - super(name, codec, transactionId); + super(name, codec, transactionId, threadId); this.value = value; - this.threadId = threadId; } @Override public void commit(CommandAsyncExecutor commandExecutor) { - RSetCache set = new RedissonSetCache(codec, null, commandExecutor, name, null); + RSetCache set = new RedissonSetCache<>(codec, null, commandExecutor, name, null); set.removeAsync(value); getLock(set, commandExecutor, value).unlockAsync(threadId); } @Override public void rollback(CommandAsyncExecutor commandExecutor) { - RSetCache set = new RedissonSetCache(codec, null, commandExecutor, name, null); + RSetCache set = new RedissonSetCache<>(codec, null, commandExecutor, name, null); getLock(set, commandExecutor, value).unlockAsync(threadId); } diff --git a/redisson/src/main/java/org/redisson/transaction/operation/set/RemoveOperation.java b/redisson/src/main/java/org/redisson/transaction/operation/set/RemoveOperation.java index 566724623..53f210699 100644 --- a/redisson/src/main/java/org/redisson/transaction/operation/set/RemoveOperation.java +++ b/redisson/src/main/java/org/redisson/transaction/operation/set/RemoveOperation.java @@ -29,16 +29,14 @@ import org.redisson.command.CommandAsyncExecutor; public class RemoveOperation extends SetOperation { private Object value; - private long threadId; - + public RemoveOperation(RObject set, Object value, String transactionId, long threadId) { this(set.getName(), set.getCodec(), value, transactionId, threadId); } public RemoveOperation(String name, Codec codec, Object value, String transactionId, long threadId) { - super(name, codec, transactionId); + super(name, codec, transactionId, threadId); this.value = value; - this.threadId = threadId; } @Override diff --git a/redisson/src/main/java/org/redisson/transaction/operation/set/SetOperation.java b/redisson/src/main/java/org/redisson/transaction/operation/set/SetOperation.java index 83ab321ad..c8febc616 100644 --- a/redisson/src/main/java/org/redisson/transaction/operation/set/SetOperation.java +++ b/redisson/src/main/java/org/redisson/transaction/operation/set/SetOperation.java @@ -39,6 +39,11 @@ public abstract class SetOperation extends TransactionalOperation { this.transactionId = transactionId; } + public SetOperation(String name, Codec codec, String transactionId, long threadId) { + super(name, codec, threadId); + this.transactionId = transactionId; + } + protected RLock getLock(RSetCache setCache, CommandAsyncExecutor commandExecutor, Object value) { String lockName = ((RedissonSetCache) setCache).getLockByValue(value, "lock"); return new RedissonTransactionalLock(commandExecutor, lockName, transactionId);