diff --git a/src/main/java/org/redkale/boot/Application.java b/src/main/java/org/redkale/boot/Application.java index 6d3fabb76..00ac45b28 100644 --- a/src/main/java/org/redkale/boot/Application.java +++ b/src/main/java/org/redkale/boot/Application.java @@ -1547,8 +1547,8 @@ public final class Application { this.clusterAgent.start(); } if (this.messageAgents != null) { - if (logger.isLoggable(Level.FINER)) { - logger.log(Level.FINER, "MessageAgent starting"); + if (logger.isLoggable(Level.FINE)) { + logger.log(Level.FINE, "MessageAgent starting"); } long s = System.currentTimeMillis(); final StringBuffer sb = new StringBuffer(); diff --git a/src/main/java/org/redkale/boot/NodeServer.java b/src/main/java/org/redkale/boot/NodeServer.java index 5f0d80a35..e78fc808a 100644 --- a/src/main/java/org/redkale/boot/NodeServer.java +++ b/src/main/java/org/redkale/boot/NodeServer.java @@ -643,6 +643,9 @@ public abstract class NodeServer { } protected boolean acceptsComponent(Class serviceImplClass) { + if (Modifier.isAbstract(serviceImplClass.getModifiers()) || Modifier.isInterface(serviceImplClass.getModifiers())) { + return false; + } if (MessageConsumer.class.isAssignableFrom(serviceImplClass)) { ResourceConsumer mqConsumer = serviceImplClass.getAnnotation(ResourceConsumer.class); if (mqConsumer == null) { @@ -650,6 +653,7 @@ public abstract class NodeServer { } MessageAgent mqAgent = application.getMessageAgent(mqConsumer.mq()); if (mqAgent == null) { + logger.info("not found MessageAgent(mq = " + mqConsumer.mq() + ")"); return false; } } diff --git a/src/main/java/org/redkale/source/CacheMemorySource.java b/src/main/java/org/redkale/source/CacheMemorySource.java index 94b0a5306..7479c7727 100644 --- a/src/main/java/org/redkale/source/CacheMemorySource.java +++ b/src/main/java/org/redkale/source/CacheMemorySource.java @@ -1812,6 +1812,26 @@ public final class CacheMemorySource extends AbstractCacheSource { return container.size(); } + @Override + public void flushdb() { + container.clear(); + } + + @Override + public CompletableFuture flushdbAsync() { + return CompletableFuture.runAsync(() -> flushdb(), getExecutor()).whenComplete(futureCompleteConsumer); + } + + @Override + public void flushall() { + container.clear(); + } + + @Override + public CompletableFuture flushallAsync() { + return CompletableFuture.runAsync(() -> flushall(), getExecutor()).whenComplete(futureCompleteConsumer); + } + @Override public List keys(String pattern) { if (pattern == null || pattern.isEmpty()) { @@ -1835,7 +1855,7 @@ public final class CacheMemorySource extends AbstractCacheSource { return rs; } } - + @Override public List keysStartsWith(String startsWith) { if (startsWith == null) { diff --git a/src/main/java/org/redkale/source/CacheSource.java b/src/main/java/org/redkale/source/CacheSource.java index 77d600bd2..1dfbe4fe7 100644 --- a/src/main/java/org/redkale/source/CacheSource.java +++ b/src/main/java/org/redkale/source/CacheSource.java @@ -341,6 +341,10 @@ public interface CacheSource extends Resourcable { public long dbsize(); + public void flushdb(); + + public void flushall(); + //---------------------- CompletableFuture 异步版 --------------------------------- default CompletableFuture isOpenAsync() { return CompletableFuture.completedFuture(isOpen()); @@ -650,6 +654,10 @@ public interface CacheSource extends Resourcable { public CompletableFuture dbsizeAsync(); + public CompletableFuture flushdbAsync(); + + public CompletableFuture flushallAsync(); + //-------------------------- 过期方法 ---------------------------------- @Deprecated(since = "2.8.0") public Collection getCollection(final String key, final Type componentType);