CacheSource remove系列方法返回值由void改成int

This commit is contained in:
Redkale
2020-07-25 09:39:43 +08:00
parent a05afe45c0
commit de63f81238
3 changed files with 76 additions and 76 deletions

View File

@@ -112,10 +112,10 @@ public class WebSocketNodeService extends WebSocketNode implements Service {
@Override
public CompletableFuture<Void> disconnect(Serializable userid, WebSocketAddress wsaddr) {
tryAcquireSemaphore();
CompletableFuture<Void> future = source.removeSetItemAsync(SOURCE_SNCP_USERID_PREFIX + userid, WebSocketAddress.class, wsaddr);
CompletableFuture<Integer> future = source.removeSetItemAsync(SOURCE_SNCP_USERID_PREFIX + userid, WebSocketAddress.class, wsaddr);
if (semaphore != null) future.whenComplete((r, e) -> releaseSemaphore());
if (logger.isLoggable(Level.FINEST)) logger.finest(WebSocketNodeService.class.getSimpleName() + ".event: " + userid + " disconnect from " + wsaddr);
return future;
return future.thenApply(v -> null);
}
/**

View File

@@ -449,9 +449,9 @@ public final class CacheMemorySource<V extends Object> extends AbstractService i
for (int i = 0; i < fields.length; i++) {
Serializable val = (Serializable) entry.mapValue.get(fields[i]);
if (type == String.class) {
rs.add(val == null ? null : (T)String.valueOf(val));
rs.add(val == null ? null : (T) String.valueOf(val));
} else {
rs.add((T)val);
rs.add((T) val);
}
}
return rs;
@@ -905,9 +905,9 @@ public final class CacheMemorySource<V extends Object> extends AbstractService i
}
@Override
public void remove(String key) {
if (key == null) return;
container.remove(key);
public int remove(String key) {
if (key == null) return 0;
return container.remove(key) == null ? 0 : 1;
}
@Override
@@ -961,8 +961,8 @@ public final class CacheMemorySource<V extends Object> extends AbstractService i
}
@Override
public CompletableFuture<Void> removeAsync(final String key) {
return CompletableFuture.runAsync(() -> remove(key), getExecutor()).whenComplete(futureCompleteConsumer);
public CompletableFuture<Integer> removeAsync(final String key) {
return CompletableFuture.supplyAsync(() -> remove(key), getExecutor()).whenComplete(futureCompleteConsumer);
}
@Override
@@ -1276,55 +1276,56 @@ public final class CacheMemorySource<V extends Object> extends AbstractService i
}
@Override
public void removeListItem(String key, V value) {
if (key == null) return;
public int removeListItem(String key, V value) {
if (key == null) return 0;
CacheEntry entry = container.get(key);
if (entry == null || entry.listValue == null) return;
entry.listValue.remove(value);
if (entry == null || entry.listValue == null) return 0;
return entry.listValue.remove(value) ? 1 : 0;
}
@Override
public <T> void removeListItem(String key, final Type componentType, T value) {
if (key == null) return;
public <T> int removeListItem(String key, final Type componentType, T value) {
if (key == null) return 0;
CacheEntry entry = container.get(key);
if (entry == null || entry.listValue == null) return;
entry.listValue.remove(value);
if (entry == null || entry.listValue == null) return 0;
return entry.listValue.remove(value) ? 1 : 0;
}
@Override
public void removeStringListItem(String key, String value) {
if (key == null) return;
public int removeStringListItem(String key, String value) {
if (key == null) return 0;
CacheEntry entry = container.get(key);
if (entry == null || entry.listValue == null) return;
entry.listValue.remove(value);
if (entry == null || entry.listValue == null) return 0;
return entry.listValue.remove(value) ? 1 : 0;
}
@Override
public void removeLongListItem(String key, long value) {
if (key == null) return;
public int removeLongListItem(String key, long value) {
if (key == null) return 0;
CacheEntry entry = container.get(key);
if (entry == null || entry.listValue == null) return;
entry.listValue.remove(value);
if (entry == null || entry.listValue == null) return 0;
return entry.listValue.remove(value) ? 1 : 0;
}
@Override
public CompletableFuture<Void> removeListItemAsync(final String key, final V value) {
return CompletableFuture.runAsync(() -> removeListItem(key, value), getExecutor()).whenComplete(futureCompleteConsumer);
public CompletableFuture<Integer> removeListItemAsync(final String key, final V value) {
return CompletableFuture.supplyAsync(() -> removeListItem(key, value), getExecutor()).whenComplete(futureCompleteConsumer);
}
@Override
public <T> CompletableFuture<Void> removeListItemAsync(final String key, final Type componentType, T value) {
return CompletableFuture.runAsync(() -> removeListItem(key, componentType, value), getExecutor()).whenComplete(futureCompleteConsumer);
public <T> CompletableFuture<Integer> removeListItemAsync(final String key, final Type componentType, T value) {
return CompletableFuture.supplyAsync(() -> removeListItem(key, componentType, value), getExecutor()).whenComplete(futureCompleteConsumer);
}
@Override
public CompletableFuture<Void> removeStringListItemAsync(final String key, final String value) {
return CompletableFuture.runAsync(() -> removeStringListItem(key, value), getExecutor()).whenComplete(futureCompleteConsumer);
public CompletableFuture<Integer> removeStringListItemAsync(final String key, final String value) {
return CompletableFuture.supplyAsync(() -> removeStringListItem(key, value), getExecutor()).whenComplete(futureCompleteConsumer);
}
@Override
public CompletableFuture<Void> removeLongListItemAsync(final String key, final long value) {
return CompletableFuture.runAsync(() -> removeLongListItem(key, value), getExecutor()).whenComplete(futureCompleteConsumer);
public CompletableFuture<Integer> removeLongListItemAsync(final String key, final long value) {
return CompletableFuture.supplyAsync(() -> removeLongListItem(key, value), getExecutor()).whenComplete(futureCompleteConsumer);
}
protected void appendSetItem(CacheEntryType cacheType, String key, Object value) {
@@ -1382,56 +1383,55 @@ public final class CacheMemorySource<V extends Object> extends AbstractService i
}
@Override
public void removeSetItem(String key, V value) {
if (key == null) return;
public int removeSetItem(String key, V value) {
if (key == null) return 0;
CacheEntry entry = container.get(key);
if (entry == null || entry.csetValue == null) return;
entry.csetValue.remove(value);
if (entry == null || entry.csetValue == null) return 0;
return entry.csetValue.remove(value) ? 1 : 0;
}
@Override
public <T> void removeSetItem(String key, Type type, T value) {
if (key == null) return;
public <T> int removeSetItem(String key, Type type, T value) {
if (key == null) return 0;
CacheEntry entry = container.get(key);
if (entry == null || entry.csetValue == null) return;
entry.csetValue.remove(value);
if (entry == null || entry.csetValue == null) return 0;
return entry.csetValue.remove(value) ? 1 : 0;
}
@Override
public void removeStringSetItem(String key, String value) {
if (key == null) return;
public int removeStringSetItem(String key, String value) {
if (key == null) return 0;
CacheEntry entry = container.get(key);
if (entry == null || entry.csetValue == null) return;
entry.csetValue.remove(value);
if (entry == null || entry.csetValue == null) return 0;
return entry.csetValue.remove(value) ? 1 : 0;
}
@Override
public void removeLongSetItem(String key, long value) {
if (key == null) return;
public int removeLongSetItem(String key, long value) {
if (key == null) return 0;
CacheEntry entry = container.get(key);
if (entry == null || entry.csetValue == null) return;
entry.csetValue.remove(value);
if (entry == null || entry.csetValue == null) return 0;
return entry.csetValue.remove(value) ? 1 : 0;
}
@Override
public CompletableFuture<Void> removeSetItemAsync(final String key, final V value) {
return CompletableFuture.runAsync(() -> removeSetItem(key, value), getExecutor()).whenComplete(futureCompleteConsumer);
public CompletableFuture<Integer> removeSetItemAsync(final String key, final V value) {
return CompletableFuture.supplyAsync(() -> removeSetItem(key, value), getExecutor()).whenComplete(futureCompleteConsumer);
}
@Override
public <T> CompletableFuture<Void> removeSetItemAsync(final String key, final Type componentType, final T value) {
return CompletableFuture.runAsync(() -> removeSetItem(key, componentType, value), getExecutor()).whenComplete(futureCompleteConsumer);
public <T> CompletableFuture<Integer> removeSetItemAsync(final String key, final Type componentType, final T value) {
return CompletableFuture.supplyAsync(() -> removeSetItem(key, componentType, value), getExecutor()).whenComplete(futureCompleteConsumer);
}
@Override
public CompletableFuture<Void> removeStringSetItemAsync(final String key, final String value) {
return CompletableFuture.runAsync(() -> removeStringSetItem(key, value), getExecutor()).whenComplete(futureCompleteConsumer);
public CompletableFuture<Integer> removeStringSetItemAsync(final String key, final String value) {
return CompletableFuture.supplyAsync(() -> removeStringSetItem(key, value), getExecutor()).whenComplete(futureCompleteConsumer);
}
@Override
public CompletableFuture<Void> removeLongSetItemAsync(final String key, final long value) {
return CompletableFuture.runAsync(() -> removeLongSetItem(key, value), getExecutor()).whenComplete(futureCompleteConsumer);
public CompletableFuture<Integer> removeLongSetItemAsync(final String key, final long value) {
return CompletableFuture.supplyAsync(() -> removeLongSetItem(key, value), getExecutor()).whenComplete(futureCompleteConsumer);
}
@Override

View File

@@ -130,7 +130,7 @@ public interface CacheSource<V extends Object> {
public void setExpireSeconds(final String key, final int expireSeconds);
public void remove(final String key);
public int remove(final String key);
public long incr(final String key);
@@ -156,23 +156,23 @@ public interface CacheSource<V extends Object> {
public void appendListItem(final String key, final V value);
public void removeListItem(final String key, final V value);
public int removeListItem(final String key, final V value);
public boolean existsSetItem(final String key, final V value);
public void appendSetItem(final String key, final V value);
public void removeSetItem(final String key, final V value);
public int removeSetItem(final String key, final V value);
public <T> void appendListItem(final String key, final Type componentType, final T value);
public <T> void removeListItem(final String key, final Type componentType, final T value);
public <T> int removeListItem(final String key, final Type componentType, final T value);
public <T> boolean existsSetItem(final String key, final Type componentType, final T value);
public <T> void appendSetItem(final String key, final Type componentType, final T value);
public <T> void removeSetItem(final String key, final Type componentType, final T value);
public <T> int removeSetItem(final String key, final Type componentType, final T value);
public List<String> queryKeys();
@@ -204,13 +204,13 @@ public interface CacheSource<V extends Object> {
public void appendStringListItem(final String key, final String value);
public void removeStringListItem(final String key, final String value);
public int removeStringListItem(final String key, final String value);
public boolean existsStringSetItem(final String key, final String value);
public void appendStringSetItem(final String key, final String value);
public void removeStringSetItem(final String key, final String value);
public int removeStringSetItem(final String key, final String value);
public long getLong(final String key, long defValue);
@@ -232,13 +232,13 @@ public interface CacheSource<V extends Object> {
public void appendLongListItem(final String key, final long value);
public void removeLongListItem(final String key, final long value);
public int removeLongListItem(final String key, final long value);
public boolean existsLongSetItem(final String key, final long value);
public void appendLongSetItem(final String key, final long value);
public void removeLongSetItem(final String key, final long value);
public int removeLongSetItem(final String key, final long value);
//---------------------- CompletableFuture 异步版 ---------------------------------
public CompletableFuture<Boolean> existsAsync(final String key);
@@ -297,7 +297,7 @@ public interface CacheSource<V extends Object> {
public CompletableFuture<Void> setExpireSecondsAsync(final String key, final int expireSeconds);
public CompletableFuture<Void> removeAsync(final String key);
public CompletableFuture<Integer> removeAsync(final String key);
public CompletableFuture<Long> incrAsync(final String key);
@@ -363,23 +363,23 @@ public interface CacheSource<V extends Object> {
public CompletableFuture<Void> appendListItemAsync(final String key, final V value);
public CompletableFuture<Void> removeListItemAsync(final String key, final V value);
public CompletableFuture<Integer> removeListItemAsync(final String key, final V value);
public CompletableFuture<Boolean> existsSetItemAsync(final String key, final V value);
public CompletableFuture<Void> appendSetItemAsync(final String key, final V value);
public CompletableFuture<Void> removeSetItemAsync(final String key, final V value);
public CompletableFuture<Integer> removeSetItemAsync(final String key, final V value);
public <T> CompletableFuture<Void> appendListItemAsync(final String key, final Type componentType, final T value);
public <T> CompletableFuture<Void> removeListItemAsync(final String key, final Type componentType, final T value);
public <T> CompletableFuture<Integer> removeListItemAsync(final String key, final Type componentType, final T value);
public <T> CompletableFuture<Boolean> existsSetItemAsync(final String key, final Type componentType, final T value);
public <T> CompletableFuture<Void> appendSetItemAsync(final String key, final Type componentType, final T value);
public <T> CompletableFuture<Void> removeSetItemAsync(final String key, final Type componentType, final T value);
public <T> CompletableFuture<Integer> removeSetItemAsync(final String key, final Type componentType, final T value);
public CompletableFuture<List<String>> queryKeysAsync();
@@ -411,13 +411,13 @@ public interface CacheSource<V extends Object> {
public CompletableFuture<Void> appendStringListItemAsync(final String key, final String value);
public CompletableFuture<Void> removeStringListItemAsync(final String key, final String value);
public CompletableFuture<Integer> removeStringListItemAsync(final String key, final String value);
public CompletableFuture<Boolean> existsStringSetItemAsync(final String key, final String value);
public CompletableFuture<Void> appendStringSetItemAsync(final String key, final String value);
public CompletableFuture<Void> removeStringSetItemAsync(final String key, final String value);
public CompletableFuture<Integer> removeStringSetItemAsync(final String key, final String value);
public CompletableFuture<Long> getLongAsync(final String key, long defValue);
@@ -439,13 +439,13 @@ public interface CacheSource<V extends Object> {
public CompletableFuture<Void> appendLongListItemAsync(final String key, final long value);
public CompletableFuture<Void> removeLongListItemAsync(final String key, final long value);
public CompletableFuture<Integer> removeLongListItemAsync(final String key, final long value);
public CompletableFuture<Boolean> existsLongSetItemAsync(final String key, final long value);
public CompletableFuture<Void> appendLongSetItemAsync(final String key, final long value);
public CompletableFuture<Void> removeLongSetItemAsync(final String key, final long value);
public CompletableFuture<Integer> removeLongSetItemAsync(final String key, final long value);
default CompletableFuture<Boolean> isOpenAsync() {
return CompletableFuture.completedFuture(isOpen());