diff --git a/src/org/redkale/net/http/HttpResponse.java b/src/org/redkale/net/http/HttpResponse.java index c2c44162b..a6a4f532f 100644 --- a/src/org/redkale/net/http/HttpResponse.java +++ b/src/org/redkale/net/http/HttpResponse.java @@ -328,7 +328,7 @@ public class HttpResponse extends Response { * @param future 输出对象的句柄 */ public void finishJson(final JsonConvert convert, final CompletableFuture future) { - future.whenCompleteAsync((v, e) -> { + future.whenComplete((v, e) -> { if (e != null) { context.getLogger().log(Level.WARNING, "Servlet occur, forece to close channel. request = " + request, e); finish(500, null); @@ -341,7 +341,7 @@ public class HttpResponse extends Response { } else { finishJson(convert, v); } - }, this.context.getExecutor()); + }); } /** @@ -352,7 +352,7 @@ public class HttpResponse extends Response { * @param future 输出对象的句柄 */ public void finishJson(final JsonConvert convert, final Type type, final CompletableFuture future) { - future.whenCompleteAsync((v, e) -> { + future.whenComplete((v, e) -> { if (e != null) { context.getLogger().log(Level.WARNING, "Servlet occur, forece to close channel. request = " + request, e); finish(500, null); @@ -365,7 +365,7 @@ public class HttpResponse extends Response { } else { finishJson(convert, type, v); } - }, this.context.getExecutor()); + }); } /** diff --git a/src/org/redkale/net/http/RestHttpServlet.java b/src/org/redkale/net/http/RestHttpServlet.java index 05f657a12..128f2cb29 100644 --- a/src/org/redkale/net/http/RestHttpServlet.java +++ b/src/org/redkale/net/http/RestHttpServlet.java @@ -24,7 +24,7 @@ public abstract class RestHttpServlet extends HttpBaseServlet { protected abstract T currentUser(HttpRequest req) throws IOException; protected void finishJson(final HttpResponse response, CompletableFuture future) throws IOException { - future.whenCompleteAsync((output, e) -> { + future.whenComplete((output, e) -> { if (e != null) { response.getContext().getLogger().log(Level.WARNING, "Servlet occur, forece to close channel. request = " + response.getRequest(), e); response.finish(500, null); @@ -36,7 +36,7 @@ public abstract class RestHttpServlet extends HttpBaseServlet { response.getContext().getLogger().log(Level.WARNING, "Servlet finish RestOutput occur, forece to close channel. request = " + response.getRequest(), ioe); response.finish(500, null); } - }, response.getContext().getExecutor()); + }); } protected void finishJson(final HttpResponse response, RestOutput output) throws IOException { diff --git a/src/org/redkale/net/sncp/SncpClient.java b/src/org/redkale/net/sncp/SncpClient.java index 439cbde08..7e6ec7b3c 100644 --- a/src/org/redkale/net/sncp/SncpClient.java +++ b/src/org/redkale/net/sncp/SncpClient.java @@ -305,7 +305,7 @@ public final class SncpClient { CompletableFuture future = remote0(handlerFunc, bsonConvert, jsonConvert, transport, null, action, params); if (action.boolReturnTypeFuture) { CompletableFuture result = action.futureCreator.create(); - future.whenCompleteAsync((v, e) -> { + future.whenComplete((v, e) -> { try { if (e != null) { result.completeExceptionally(e); diff --git a/src/org/redkale/net/sncp/SncpDynServlet.java b/src/org/redkale/net/sncp/SncpDynServlet.java index c6862d3f0..924beef8a 100644 --- a/src/org/redkale/net/sncp/SncpDynServlet.java +++ b/src/org/redkale/net/sncp/SncpDynServlet.java @@ -151,7 +151,7 @@ public final class SncpDynServlet extends SncpServlet { action.convert.convertTo(out, Object.class, null); } else { Object[] sncpParams = handler.sncp_getParams(); - future.whenCompleteAsync((v, e) -> { + future.whenComplete((v, e) -> { if (e != null) { response.getContext().getLogger().log(Level.INFO, "sncp CompleteAsync error(" + request + ")", e); response.finish(SncpResponse.RETCODE_THROWEXCEPTION, null); @@ -162,7 +162,7 @@ public final class SncpDynServlet extends SncpServlet { response.finish(0, out); action.convert.offerBsonReader(in); action.convert.offerBsonWriter(out); - }, getExecutor()); + }); } } } catch (Throwable t) { diff --git a/src/org/redkale/source/CacheMemorySource.java b/src/org/redkale/source/CacheMemorySource.java index 954eba9ac..71f5696b1 100644 --- a/src/org/redkale/source/CacheMemorySource.java +++ b/src/org/redkale/source/CacheMemorySource.java @@ -195,7 +195,7 @@ public class CacheMemorySource extends return !entry.isExpired(); } - //@Override + @Override public CompletableFuture existsAsync(final K key) { CompletableFuture future = new CompletableFuture(); future.complete(exists(key)); @@ -218,7 +218,7 @@ public class CacheMemorySource extends return (V) entry.getValue(); } - //@Override + @Override public CompletableFuture getAsync(final K key) { CompletableFuture future = new CompletableFuture(); future.complete(get(key)); @@ -244,7 +244,7 @@ public class CacheMemorySource extends return (V) entry.getValue(); } - //@Override + @Override public CompletableFuture getAndRefreshAsync(final K key, final int expireSeconds) { CompletableFuture future = new CompletableFuture(); future.complete(getAndRefresh(key, expireSeconds)); @@ -267,6 +267,14 @@ public class CacheMemorySource extends entry.expireSeconds = expireSeconds; } + @Override + public CompletableFuture refreshAsync(final K key, final int expireSeconds) { + CompletableFuture future = new CompletableFuture(); + refresh(key, expireSeconds); + future.complete(null); + return future; + } + @Override public void refreshAsync(final AsyncHandler handler, @RpcAttachment final K key, final int expireSeconds) { refresh(key, expireSeconds); @@ -288,6 +296,14 @@ public class CacheMemorySource extends } } + @Override + public CompletableFuture setAsync(K key, V value) { + CompletableFuture future = new CompletableFuture(); + set(key, value); + future.complete(null); + return future; + } + @Override public void setAsync(final AsyncHandler handler, @RpcAttachment final K key, final V value) { set(key, value); @@ -309,6 +325,14 @@ public class CacheMemorySource extends } } + @Override + public CompletableFuture setAsync(int expireSeconds, K key, V value) { + CompletableFuture future = new CompletableFuture(); + set(expireSeconds, key, value); + future.complete(null); + return future; + } + @Override public void setAsync(final AsyncHandler handler, final int expireSeconds, @RpcAttachment final K key, final V value) { set(expireSeconds, key, value); @@ -324,6 +348,14 @@ public class CacheMemorySource extends entry.expireSeconds = expireSeconds; } + @Override + public CompletableFuture setExpireSecondsAsync(final K key, final int expireSeconds) { + CompletableFuture future = new CompletableFuture(); + setExpireSeconds(key, expireSeconds); + future.complete(null); + return future; + } + @Override public void setExpireSecondsAsync(final AsyncHandler handler, @RpcAttachment final K key, final int expireSeconds) { setExpireSeconds(key, expireSeconds); @@ -337,6 +369,14 @@ public class CacheMemorySource extends container.remove(key); } + @Override + public CompletableFuture removeAsync(final K key) { + CompletableFuture future = new CompletableFuture(); + remove(key); + future.complete(null); + return future; + } + @Override public void removeAsync(final AsyncHandler handler, @RpcAttachment final K key) { remove(key); @@ -348,6 +388,13 @@ public class CacheMemorySource extends return (Collection) get(key); } + @Override + public CompletableFuture> getCollectionAsync(final K key) { + CompletableFuture> future = new CompletableFuture(); + future.complete((Collection) get(key)); + return future; + } + @Override public void getCollectionAsync(final AsyncHandler, K> handler, @RpcAttachment final K key) { Collection rs = getCollection(key); @@ -359,6 +406,13 @@ public class CacheMemorySource extends return (Collection) getAndRefresh(key, expireSeconds); } + @Override + public CompletableFuture> getCollectionAndRefreshAsync(final K key, final int expireSeconds) { + CompletableFuture> future = new CompletableFuture(); + future.complete((Collection) getAndRefresh(key, expireSeconds)); + return future; + } + @Override public void getCollectionAndRefreshAsync(final AsyncHandler, K> handler, @RpcAttachment final K key, final int expireSeconds) { Collection rs = getCollectionAndRefresh(key, expireSeconds); @@ -381,6 +435,14 @@ public class CacheMemorySource extends } } + @Override + public CompletableFuture appendListItemAsync(final K key, final V value) { + CompletableFuture future = new CompletableFuture(); + appendListItem(key, value); + future.complete(null); + return future; + } + @Override public void appendListItemAsync(final AsyncHandler handler, @RpcAttachment final K key, final V value) { appendListItem(key, value); @@ -396,6 +458,14 @@ public class CacheMemorySource extends ((Collection) entry.getValue()).remove(value); } + @Override + public CompletableFuture removeListItemAsync(final K key, final V value) { + CompletableFuture future = new CompletableFuture(); + removeListItem(key, value); + future.complete(null); + return future; + } + @Override public void removeListItemAsync(final AsyncHandler handler, @RpcAttachment final K key, final V value) { removeListItem(key, value); @@ -418,6 +488,14 @@ public class CacheMemorySource extends } } + @Override + public CompletableFuture appendSetItemAsync(final K key, final V value) { + CompletableFuture future = new CompletableFuture(); + appendSetItem(key, value); + future.complete(null); + return future; + } + @Override public void appendSetItemAsync(final AsyncHandler handler, @RpcAttachment final K key, final V value) { appendSetItem(key, value); @@ -433,6 +511,14 @@ public class CacheMemorySource extends ((Set) entry.getValue()).remove(value); } + @Override + public CompletableFuture removeSetItemAsync(final K key, final V value) { + CompletableFuture future = new CompletableFuture(); + removeSetItem(key, value); + future.complete(null); + return future; + } + @Override public void removeSetItemAsync(final AsyncHandler handler, @RpcAttachment final K key, final V value) { removeSetItem(key, value); diff --git a/src/org/redkale/source/CacheSource.java b/src/org/redkale/source/CacheSource.java index b5401ce38..1a4e2d26d 100644 --- a/src/org/redkale/source/CacheSource.java +++ b/src/org/redkale/source/CacheSource.java @@ -7,6 +7,7 @@ package org.redkale.source; import java.io.*; import java.util.*; +import java.util.concurrent.CompletableFuture; import org.redkale.util.*; /** @@ -53,7 +54,6 @@ public interface CacheSource { public void removeSetItem(final K key, final V value); //---------------------- CompletableFuture 异步版 --------------------------------- - /** public CompletableFuture existsAsync(final K key); public CompletableFuture getAsync(final K key); @@ -87,9 +87,8 @@ public interface CacheSource { future.complete(true); return future; } - */ + //---------------------- AsyncHandler 异步版 --------------------------------- - public void existsAsync(final AsyncHandler handler, final K key); public void getAsync(final AsyncHandler handler, final K key);