refactoring

pull/3742/head
Nikita Koksharov 4 years ago
parent 12eaac4018
commit 3510d3294f

@ -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

@ -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() {

@ -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<Object> set = new RedissonSetCache<Object>(codec, null, commandExecutor, name, null);
RSetCache<Object> set = new RedissonSetCache<>(codec, null, commandExecutor, name, null);
getLock(set, commandExecutor, value).unlockAsync(threadId);
}

@ -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<Object> set = new RedissonSet<Object>(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<Object> set = new RedissonSet<Object>(codec, commandExecutor, name, null);
getLock(set, commandExecutor, value).unlockAsync();
getLock(set, commandExecutor, value).unlockAsync(threadId);
}
public Object getValue() {

@ -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

@ -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<Object> set = new RedissonSetCache<Object>(codec, null, commandExecutor, name, null);
RSetCache<Object> set = new RedissonSetCache<>(codec, null, commandExecutor, name, null);
set.removeAsync(value);
getLock(set, commandExecutor, value).unlockAsync(threadId);
}
@Override
public void rollback(CommandAsyncExecutor commandExecutor) {
RSetCache<Object> set = new RedissonSetCache<Object>(codec, null, commandExecutor, name, null);
RSetCache<Object> set = new RedissonSetCache<>(codec, null, commandExecutor, name, null);
getLock(set, commandExecutor, value).unlockAsync(threadId);
}

@ -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

@ -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);

Loading…
Cancel
Save