Skip to content

Commit

Permalink
MapCache listeners added. #879
Browse files Browse the repository at this point in the history
  • Loading branch information
Nikita committed Jun 7, 2017
1 parent 4a37a5e commit 0053bf3
Show file tree
Hide file tree
Showing 21 changed files with 920 additions and 137 deletions.
12 changes: 6 additions & 6 deletions redisson/src/main/java/org/redisson/Redisson.java
Expand Up @@ -253,17 +253,17 @@ public <K, V> RListMultimap<K, V> getListMultimap(String name, Codec codec) {


@Override @Override
public <K, V> RLocalCachedMap<K, V> getLocalCachedMap(String name, LocalCachedMapOptions options) { public <K, V> RLocalCachedMap<K, V> getLocalCachedMap(String name, LocalCachedMapOptions options) {
return new RedissonLocalCachedMap<K, V>(id, connectionManager.getCommandExecutor(), name, options, evictionScheduler, this); return new RedissonLocalCachedMap<K, V>(connectionManager.getCommandExecutor(), name, options, evictionScheduler, this);
} }


@Override @Override
public <K, V> RLocalCachedMap<K, V> getLocalCachedMap(String name, Codec codec, LocalCachedMapOptions options) { public <K, V> RLocalCachedMap<K, V> getLocalCachedMap(String name, Codec codec, LocalCachedMapOptions options) {
return new RedissonLocalCachedMap<K, V>(id, codec, connectionManager.getCommandExecutor(), name, options, evictionScheduler, this); return new RedissonLocalCachedMap<K, V>(codec, connectionManager.getCommandExecutor(), name, options, evictionScheduler, this);
} }


@Override @Override
public <K, V> RMap<K, V> getMap(String name) { public <K, V> RMap<K, V> getMap(String name) {
return new RedissonMap<K, V>(id, connectionManager.getCommandExecutor(), name, this); return new RedissonMap<K, V>(connectionManager.getCommandExecutor(), name, this);
} }


@Override @Override
Expand Down Expand Up @@ -308,17 +308,17 @@ public <V> RSetCache<V> getSetCache(String name, Codec codec) {


@Override @Override
public <K, V> RMapCache<K, V> getMapCache(String name) { public <K, V> RMapCache<K, V> getMapCache(String name) {
return new RedissonMapCache<K, V>(id, evictionScheduler, connectionManager.getCommandExecutor(), name, this); return new RedissonMapCache<K, V>(evictionScheduler, connectionManager.getCommandExecutor(), name, this);
} }


@Override @Override
public <K, V> RMapCache<K, V> getMapCache(String name, Codec codec) { public <K, V> RMapCache<K, V> getMapCache(String name, Codec codec) {
return new RedissonMapCache<K, V>(id, codec, evictionScheduler, connectionManager.getCommandExecutor(), name, this); return new RedissonMapCache<K, V>(codec, evictionScheduler, connectionManager.getCommandExecutor(), name, this);
} }


@Override @Override
public <K, V> RMap<K, V> getMap(String name, Codec codec) { public <K, V> RMap<K, V> getMap(String name, Codec codec) {
return new RedissonMap<K, V>(id, codec, connectionManager.getCommandExecutor(), name, this); return new RedissonMap<K, V>(codec, connectionManager.getCommandExecutor(), name, this);
} }


@Override @Override
Expand Down
8 changes: 4 additions & 4 deletions redisson/src/main/java/org/redisson/RedissonBatch.java
Expand Up @@ -102,12 +102,12 @@ public <V> RListAsync<V> getList(String name, Codec codec) {


@Override @Override
public <K, V> RMapAsync<K, V> getMap(String name) { public <K, V> RMapAsync<K, V> getMap(String name) {
return new RedissonMap<K, V>(id, executorService, name, null); return new RedissonMap<K, V>(executorService, name, null);
} }


@Override @Override
public <K, V> RMapAsync<K, V> getMap(String name, Codec codec) { public <K, V> RMapAsync<K, V> getMap(String name, Codec codec) {
return new RedissonMap<K, V>(id, codec, executorService, name, null); return new RedissonMap<K, V>(codec, executorService, name, null);
} }


@Override @Override
Expand Down Expand Up @@ -202,12 +202,12 @@ public RBitSetAsync getBitSet(String name) {


@Override @Override
public <K, V> RMapCacheAsync<K, V> getMapCache(String name, Codec codec) { public <K, V> RMapCacheAsync<K, V> getMapCache(String name, Codec codec) {
return new RedissonMapCache<K, V>(id, codec, evictionScheduler, executorService, name, null); return new RedissonMapCache<K, V>(codec, evictionScheduler, executorService, name, null);
} }


@Override @Override
public <K, V> RMapCacheAsync<K, V> getMapCache(String name) { public <K, V> RMapCacheAsync<K, V> getMapCache(String name) {
return new RedissonMapCache<K, V>(id, evictionScheduler, executorService, name, null); return new RedissonMapCache<K, V>(evictionScheduler, executorService, name, null);
} }


@Override @Override
Expand Down
14 changes: 7 additions & 7 deletions redisson/src/main/java/org/redisson/RedissonLocalCachedMap.java
Expand Up @@ -208,17 +208,17 @@ public String toString() {
private int invalidationStatusListenerId; private int invalidationStatusListenerId;
private volatile long lastInvalidate; private volatile long lastInvalidate;


protected RedissonLocalCachedMap(UUID id, CommandAsyncExecutor commandExecutor, String name, LocalCachedMapOptions options, EvictionScheduler evictionScheduler, RedissonClient redisson) { protected RedissonLocalCachedMap(CommandAsyncExecutor commandExecutor, String name, LocalCachedMapOptions options, EvictionScheduler evictionScheduler, RedissonClient redisson) {
super(id, commandExecutor, name, redisson); super(commandExecutor, name, redisson);
init(id, name, options, redisson, evictionScheduler); init(name, options, redisson, evictionScheduler);
} }


protected RedissonLocalCachedMap(UUID id, Codec codec, CommandAsyncExecutor connectionManager, String name, LocalCachedMapOptions options, EvictionScheduler evictionScheduler, RedissonClient redisson) { protected RedissonLocalCachedMap(Codec codec, CommandAsyncExecutor connectionManager, String name, LocalCachedMapOptions options, EvictionScheduler evictionScheduler, RedissonClient redisson) {
super(id, codec, connectionManager, name, redisson); super(codec, connectionManager, name, redisson);
init(id, name, options, redisson, evictionScheduler); init(name, options, redisson, evictionScheduler);
} }


private void init(UUID id, String name, LocalCachedMapOptions options, RedissonClient redisson, EvictionScheduler evictionScheduler) { private void init(String name, LocalCachedMapOptions options, RedissonClient redisson, EvictionScheduler evictionScheduler) {
instanceId = generateId(); instanceId = generateId();


if (options.getInvalidationPolicy() == InvalidationPolicy.ON_CHANGE if (options.getInvalidationPolicy() == InvalidationPolicy.ON_CHANGE
Expand Down
15 changes: 5 additions & 10 deletions redisson/src/main/java/org/redisson/RedissonMap.java
Expand Up @@ -28,7 +28,6 @@
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import java.util.UUID;


import org.redisson.api.RFuture; import org.redisson.api.RFuture;
import org.redisson.api.RLock; import org.redisson.api.RLock;
Expand All @@ -47,7 +46,6 @@
import org.redisson.client.protocol.decoder.MapScanResult; import org.redisson.client.protocol.decoder.MapScanResult;
import org.redisson.client.protocol.decoder.ScanObjectEntry; import org.redisson.client.protocol.decoder.ScanObjectEntry;
import org.redisson.command.CommandAsyncExecutor; import org.redisson.command.CommandAsyncExecutor;
import org.redisson.command.CommandExecutor;
import org.redisson.connection.decoder.MapGetAllDecoder; import org.redisson.connection.decoder.MapGetAllDecoder;
import org.redisson.mapreduce.RedissonMapReduce; import org.redisson.mapreduce.RedissonMapReduce;
import org.redisson.misc.Hash; import org.redisson.misc.Hash;
Expand All @@ -69,18 +67,15 @@ public class RedissonMap<K, V> extends RedissonExpirable implements RMap<K, V> {
static final RedisCommand<Boolean> EVAL_REMOVE_VALUE = new RedisCommand<Boolean>("EVAL", new BooleanReplayConvertor(), 4, ValueType.MAP); static final RedisCommand<Boolean> EVAL_REMOVE_VALUE = new RedisCommand<Boolean>("EVAL", new BooleanReplayConvertor(), 4, ValueType.MAP);
static final RedisCommand<Object> EVAL_PUT = EVAL_REPLACE; static final RedisCommand<Object> EVAL_PUT = EVAL_REPLACE;


private final UUID id; final RedissonClient redisson;
private final RedissonClient redisson;


protected RedissonMap(UUID id, CommandAsyncExecutor commandExecutor, String name, RedissonClient redisson) { protected RedissonMap(CommandAsyncExecutor commandExecutor, String name, RedissonClient redisson) {
super(commandExecutor, name); super(commandExecutor, name);
this.id = id;
this.redisson = redisson; this.redisson = redisson;
} }


public RedissonMap(UUID id, Codec codec, CommandAsyncExecutor commandExecutor, String name, RedissonClient redisson) { public RedissonMap(Codec codec, CommandAsyncExecutor commandExecutor, String name, RedissonClient redisson) {
super(codec, commandExecutor, name); super(codec, commandExecutor, name);
this.id = id;
this.redisson = redisson; this.redisson = redisson;
} }


Expand All @@ -92,13 +87,13 @@ public <KOut, VOut> RMapReduce<K, V, KOut, VOut> mapReduce() {
@Override @Override
public RLock getLock(K key) { public RLock getLock(K key) {
String lockName = getLockName(key); String lockName = getLockName(key);
return new RedissonLock((CommandExecutor)commandExecutor, lockName, id); return redisson.getLock(lockName);
} }


@Override @Override
public RReadWriteLock getReadWriteLock(K key) { public RReadWriteLock getReadWriteLock(K key) {
String lockName = getLockName(key); String lockName = getLockName(key);
return new RedissonReadWriteLock((CommandExecutor)commandExecutor, lockName, id); return redisson.getReadWriteLock(lockName);
} }


private String getLockName(Object key) { private String getLockName(Object key) {
Expand Down

0 comments on commit 0053bf3

Please sign in to comment.