diff --git a/src/main/java/module-info.java b/src/main/java/module-info.java index 01dae9a8a..ddeb9fb1e 100644 --- a/src/main/java/module-info.java +++ b/src/main/java/module-info.java @@ -25,6 +25,7 @@ module org.redkale { exports org.redkale.convert.ext; exports org.redkale.convert.json; exports org.redkale.convert.protobuf; + exports org.redkale.inject; exports org.redkale.lock; exports org.redkale.mq; exports org.redkale.net; @@ -42,10 +43,10 @@ module org.redkale { uses org.redkale.boot.PropertiesAgentProvider; uses org.redkale.cluster.ClusterAgentProvider; uses org.redkale.convert.ConvertProvider; + uses org.redkale.inject.ResourceAnnotationProvider; uses org.redkale.mq.MessageAgentProvider; uses org.redkale.source.CacheSourceProvider; uses org.redkale.source.DataSourceProvider; uses org.redkale.source.DataNativeSqlParserProvider; - uses org.redkale.util.ResourceAnnotationProvider; } diff --git a/src/main/java/org/redkale/boot/Application.java b/src/main/java/org/redkale/boot/Application.java index 1aa5b61d7..57a42e2eb 100644 --- a/src/main/java/org/redkale/boot/Application.java +++ b/src/main/java/org/redkale/boot/Application.java @@ -28,6 +28,9 @@ import org.redkale.convert.Convert; import org.redkale.convert.bson.BsonFactory; import org.redkale.convert.json.*; import org.redkale.convert.protobuf.ProtobufFactory; +import org.redkale.inject.ResourceEvent; +import org.redkale.inject.ResourceFactory; +import org.redkale.inject.ResourceTypeLoader; import org.redkale.mq.*; import org.redkale.net.*; import org.redkale.net.http.*; diff --git a/src/main/java/org/redkale/boot/LoggingModule.java b/src/main/java/org/redkale/boot/LoggingModule.java index cd2b09497..cd4892d76 100644 --- a/src/main/java/org/redkale/boot/LoggingModule.java +++ b/src/main/java/org/redkale/boot/LoggingModule.java @@ -17,9 +17,9 @@ import java.util.Set; import java.util.logging.Handler; import java.util.logging.LogManager; import java.util.logging.SimpleFormatter; +import org.redkale.inject.ResourceEvent; import org.redkale.net.sncp.SncpClient; import org.redkale.util.Environment; -import org.redkale.util.ResourceEvent; /** * diff --git a/src/main/java/org/redkale/boot/ModuleEngine.java b/src/main/java/org/redkale/boot/ModuleEngine.java index 4399aa81c..6ae5df881 100644 --- a/src/main/java/org/redkale/boot/ModuleEngine.java +++ b/src/main/java/org/redkale/boot/ModuleEngine.java @@ -6,11 +6,11 @@ package org.redkale.boot; import java.util.List; import java.util.Properties; import java.util.logging.Logger; +import org.redkale.inject.ResourceEvent; +import org.redkale.inject.ResourceFactory; import org.redkale.service.Service; import org.redkale.util.AnyValue; import org.redkale.util.Environment; -import org.redkale.util.ResourceEvent; -import org.redkale.util.ResourceFactory; /** * diff --git a/src/main/java/org/redkale/boot/NodeHttpServer.java b/src/main/java/org/redkale/boot/NodeHttpServer.java index 0bb970e7e..46304c55d 100644 --- a/src/main/java/org/redkale/boot/NodeHttpServer.java +++ b/src/main/java/org/redkale/boot/NodeHttpServer.java @@ -17,6 +17,8 @@ import org.redkale.annotation.*; import static org.redkale.boot.Application.RESNAME_SNCP_ADDRESS; import org.redkale.boot.ClassFilter.FilterEntry; import org.redkale.cluster.ClusterAgent; +import org.redkale.inject.ResourceFactory; +import org.redkale.inject.ResourceTypeLoader; import org.redkale.mq.MessageAgent; import org.redkale.net.*; import org.redkale.net.http.*; diff --git a/src/main/java/org/redkale/boot/NodeServer.java b/src/main/java/org/redkale/boot/NodeServer.java index 7dea90d69..9ed1506d7 100644 --- a/src/main/java/org/redkale/boot/NodeServer.java +++ b/src/main/java/org/redkale/boot/NodeServer.java @@ -21,6 +21,8 @@ import org.redkale.annotation.Command; import static org.redkale.boot.Application.*; import org.redkale.boot.ClassFilter.FilterEntry; import org.redkale.cluster.ClusterAgent; +import org.redkale.inject.ResourceFactory; +import org.redkale.inject.ResourceTypeLoader; import org.redkale.mq.*; import org.redkale.net.*; import org.redkale.net.Filter; diff --git a/src/main/java/org/redkale/boot/PropertiesAgent.java b/src/main/java/org/redkale/boot/PropertiesAgent.java index 58b6e2f24..50114adcb 100644 --- a/src/main/java/org/redkale/boot/PropertiesAgent.java +++ b/src/main/java/org/redkale/boot/PropertiesAgent.java @@ -4,6 +4,7 @@ package org.redkale.boot; import java.util.*; import java.util.logging.Logger; +import org.redkale.inject.ResourceEvent; import org.redkale.util.*; /** diff --git a/src/main/java/org/redkale/boot/PropertiesModule.java b/src/main/java/org/redkale/boot/PropertiesModule.java index 9d2c3d91d..20e0aedff 100644 --- a/src/main/java/org/redkale/boot/PropertiesModule.java +++ b/src/main/java/org/redkale/boot/PropertiesModule.java @@ -16,11 +16,11 @@ import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.locks.ReentrantLock; import java.util.logging.Level; import java.util.logging.Logger; +import org.redkale.inject.ResourceEvent; import org.redkale.util.AnyValue; import org.redkale.util.Environment; import org.redkale.util.InstanceProvider; import org.redkale.util.RedkaleClassLoader; -import org.redkale.util.ResourceEvent; import org.redkale.util.Utility; /** diff --git a/src/main/java/org/redkale/boot/watch/ServiceWatchService.java b/src/main/java/org/redkale/boot/watch/ServiceWatchService.java index f250adaee..042d5c76b 100644 --- a/src/main/java/org/redkale/boot/watch/ServiceWatchService.java +++ b/src/main/java/org/redkale/boot/watch/ServiceWatchService.java @@ -11,9 +11,9 @@ import org.redkale.annotation.Comment; import org.redkale.annotation.*; import org.redkale.boot.*; import org.redkale.convert.json.JsonConvert; +import org.redkale.inject.ResourceFactory; import org.redkale.net.http.*; import org.redkale.service.RetResult; -import org.redkale.util.ResourceFactory; /** *
diff --git a/src/main/java/org/redkale/cache/support/CacheModuleEngine.java b/src/main/java/org/redkale/cache/support/CacheModuleEngine.java
index 98f74526b..1a96381b3 100644
--- a/src/main/java/org/redkale/cache/support/CacheModuleEngine.java
+++ b/src/main/java/org/redkale/cache/support/CacheModuleEngine.java
@@ -5,6 +5,7 @@ package org.redkale.cache.support;
import org.redkale.boot.Application;
import org.redkale.boot.ModuleEngine;
+import org.redkale.cache.CacheManager;
import org.redkale.util.AnyValue;
/**
@@ -44,12 +45,12 @@ public class CacheModuleEngine extends ModuleEngine {
public void onAppPostInit() {
//设置缓存管理器
this.cacheManager = CacheManagerService.create(null).enabled(false);
- final AnyValue cacheConf = application.getAppConfig().getAnyValue("cache");;
- this.resourceFactory.inject(this.cacheManager);
- if (!application.isCompileMode() && cacheConf != null) {
+ final AnyValue cacheConf = application.getAppConfig().getAnyValue("cache");
+ if (cacheConf != null && !application.isCompileMode()) {
+ this.resourceFactory.inject(this.cacheManager);
this.cacheManager.init(cacheConf);
}
- this.resourceFactory.register("", this.cacheManager);
+ this.resourceFactory.register("", CacheManager.class, this.cacheManager);
}
/**
diff --git a/src/main/java/org/redkale/cluster/CacheClusterAgent.java b/src/main/java/org/redkale/cluster/CacheClusterAgent.java
index 90a87d81f..4b30829ee 100644
--- a/src/main/java/org/redkale/cluster/CacheClusterAgent.java
+++ b/src/main/java/org/redkale/cluster/CacheClusterAgent.java
@@ -14,6 +14,8 @@ import org.redkale.annotation.*;
import org.redkale.annotation.ResourceListener;
import org.redkale.boot.*;
import org.redkale.convert.json.JsonConvert;
+import org.redkale.inject.Resourcable;
+import org.redkale.inject.ResourceEvent;
import org.redkale.service.Service;
import org.redkale.source.CacheSource;
import org.redkale.util.*;
diff --git a/src/main/java/org/redkale/cluster/ClusterAgent.java b/src/main/java/org/redkale/cluster/ClusterAgent.java
index 384ad37cb..1d08ca927 100644
--- a/src/main/java/org/redkale/cluster/ClusterAgent.java
+++ b/src/main/java/org/redkale/cluster/ClusterAgent.java
@@ -18,6 +18,7 @@ import org.redkale.boot.*;
import static org.redkale.boot.Application.*;
import org.redkale.convert.ConvertDisabled;
import org.redkale.convert.json.JsonConvert;
+import org.redkale.inject.ResourceEvent;
import org.redkale.net.Server;
import org.redkale.net.http.*;
import org.redkale.net.sncp.*;
diff --git a/src/main/java/org/redkale/cluster/ClusterModuleEngine.java b/src/main/java/org/redkale/cluster/ClusterModuleEngine.java
index 11bccb9b5..57bda5e67 100644
--- a/src/main/java/org/redkale/cluster/ClusterModuleEngine.java
+++ b/src/main/java/org/redkale/cluster/ClusterModuleEngine.java
@@ -14,10 +14,10 @@ import java.util.Set;
import java.util.logging.Level;
import org.redkale.boot.Application;
import org.redkale.boot.ModuleEngine;
+import org.redkale.inject.ResourceEvent;
import org.redkale.util.AnyValue;
import org.redkale.util.AnyValueWriter;
import org.redkale.util.RedkaleClassLoader;
-import org.redkale.util.ResourceEvent;
/**
*
diff --git a/src/main/java/org/redkale/util/Resourcable.java b/src/main/java/org/redkale/inject/Resourcable.java
similarity index 90%
rename from src/main/java/org/redkale/util/Resourcable.java
rename to src/main/java/org/redkale/inject/Resourcable.java
index 03e64f35a..b0fe409cd 100644
--- a/src/main/java/org/redkale/util/Resourcable.java
+++ b/src/main/java/org/redkale/inject/Resourcable.java
@@ -3,7 +3,7 @@
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
-package org.redkale.util;
+package org.redkale.inject;
/**
* 对象的类没有标记为@Resource, 可以通过实现Resourcable接口实现动态获取Resource.name
diff --git a/src/main/java/org/redkale/util/ResourceAnnotationProvider.java b/src/main/java/org/redkale/inject/ResourceAnnotationProvider.java
similarity index 92%
rename from src/main/java/org/redkale/util/ResourceAnnotationProvider.java
rename to src/main/java/org/redkale/inject/ResourceAnnotationProvider.java
index ef7fb2e17..a422bc755 100644
--- a/src/main/java/org/redkale/util/ResourceAnnotationProvider.java
+++ b/src/main/java/org/redkale/inject/ResourceAnnotationProvider.java
@@ -3,7 +3,7 @@
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
-package org.redkale.util;
+package org.redkale.inject;
import java.lang.annotation.Annotation;
import java.lang.reflect.Field;
diff --git a/src/main/java/org/redkale/util/ResourceEvent.java b/src/main/java/org/redkale/inject/ResourceEvent.java
similarity index 95%
rename from src/main/java/org/redkale/util/ResourceEvent.java
rename to src/main/java/org/redkale/inject/ResourceEvent.java
index 4c1589b42..ccfbdd3a1 100644
--- a/src/main/java/org/redkale/util/ResourceEvent.java
+++ b/src/main/java/org/redkale/inject/ResourceEvent.java
@@ -1,11 +1,12 @@
/*
*/
-package org.redkale.util;
+package org.redkale.inject;
import java.util.*;
import java.util.function.Predicate;
import java.util.regex.Pattern;
import org.redkale.annotation.ConstructorParameters;
+import org.redkale.util.Utility;
/**
* 详情见: https://redkale.org
diff --git a/src/main/java/org/redkale/util/ResourceFactory.java b/src/main/java/org/redkale/inject/ResourceFactory.java
similarity index 97%
rename from src/main/java/org/redkale/util/ResourceFactory.java
rename to src/main/java/org/redkale/inject/ResourceFactory.java
index 97df04024..a9284f4fb 100644
--- a/src/main/java/org/redkale/util/ResourceFactory.java
+++ b/src/main/java/org/redkale/inject/ResourceFactory.java
@@ -3,7 +3,7 @@
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
-package org.redkale.util;
+package org.redkale.inject;
import java.lang.annotation.Annotation;
import java.lang.ref.WeakReference;
@@ -16,9 +16,11 @@ import java.util.concurrent.locks.ReentrantLock;
import java.util.function.*;
import java.util.logging.*;
import org.redkale.annotation.*;
-import org.redkale.annotation.ResourceListener;
-import org.redkale.annotation.ResourceType;
import org.redkale.convert.*;
+import org.redkale.util.Creator;
+import org.redkale.util.RedkaleClassLoader;
+import org.redkale.util.RedkaleException;
+import org.redkale.util.TypeToken;
/**
*
@@ -1222,7 +1224,8 @@ public final class ResourceFactory {
RedkaleClassLoader.putReflectionMethod(loop.getName(), method);
break;
} else {
- logger.log(Level.SEVERE, "@" + ResourceListener.class.getSimpleName() + " must on method with " + ResourceEvent.class.getSimpleName() + "[] parameter type");
+ logger.log(Level.SEVERE, "@" + ResourceListener.class.getSimpleName()
+ + " must on method with " + ResourceEvent.class.getSimpleName() + "[] parameter type");
}
}
} while ((loop = loop.getSuperclass()) != Object.class);
diff --git a/src/main/java/org/redkale/util/ResourceTypeLoader.java b/src/main/java/org/redkale/inject/ResourceTypeLoader.java
similarity index 91%
rename from src/main/java/org/redkale/util/ResourceTypeLoader.java
rename to src/main/java/org/redkale/inject/ResourceTypeLoader.java
index 262ec43f0..4af256db2 100644
--- a/src/main/java/org/redkale/util/ResourceTypeLoader.java
+++ b/src/main/java/org/redkale/inject/ResourceTypeLoader.java
@@ -1,6 +1,6 @@
/*
*/
-package org.redkale.util;
+package org.redkale.inject;
import java.lang.reflect.Field;
diff --git a/src/main/java/org/redkale/mq/MessageAgent.java b/src/main/java/org/redkale/mq/MessageAgent.java
index 727baedd2..84b3fdefe 100644
--- a/src/main/java/org/redkale/mq/MessageAgent.java
+++ b/src/main/java/org/redkale/mq/MessageAgent.java
@@ -25,6 +25,8 @@ import org.redkale.convert.Convert;
import org.redkale.convert.ConvertFactory;
import org.redkale.convert.ConvertType;
import org.redkale.convert.json.JsonConvert;
+import org.redkale.inject.Resourcable;
+import org.redkale.inject.ResourceEvent;
import org.redkale.net.WorkThread;
import org.redkale.net.http.*;
import org.redkale.net.sncp.*;
diff --git a/src/main/java/org/redkale/mq/MessageModuleEngine.java b/src/main/java/org/redkale/mq/MessageModuleEngine.java
index 00a54a416..b134189c8 100644
--- a/src/main/java/org/redkale/mq/MessageModuleEngine.java
+++ b/src/main/java/org/redkale/mq/MessageModuleEngine.java
@@ -19,15 +19,15 @@ import org.redkale.boot.ClassFilter;
import org.redkale.boot.ModuleEngine;
import org.redkale.boot.NodeServer;
import org.redkale.convert.json.JsonConvert;
+import org.redkale.inject.ResourceAnnotationProvider;
+import org.redkale.inject.ResourceEvent;
+import org.redkale.inject.ResourceFactory;
+import org.redkale.inject.ResourceTypeLoader;
import org.redkale.net.http.RestException;
import org.redkale.util.AnyValue;
import org.redkale.util.AnyValueWriter;
import org.redkale.util.RedkaleClassLoader;
import org.redkale.util.RedkaleException;
-import org.redkale.util.ResourceAnnotationProvider;
-import org.redkale.util.ResourceEvent;
-import org.redkale.util.ResourceFactory;
-import org.redkale.util.ResourceTypeLoader;
import org.redkale.util.Utility;
/**
diff --git a/src/main/java/org/redkale/net/Context.java b/src/main/java/org/redkale/net/Context.java
index 261408807..2375e0536 100644
--- a/src/main/java/org/redkale/net/Context.java
+++ b/src/main/java/org/redkale/net/Context.java
@@ -12,6 +12,7 @@ import java.util.logging.*;
import javax.net.ssl.SSLContext;
import org.redkale.convert.bson.*;
import org.redkale.convert.json.*;
+import org.redkale.inject.ResourceFactory;
import org.redkale.util.*;
/**
diff --git a/src/main/java/org/redkale/net/Server.java b/src/main/java/org/redkale/net/Server.java
index 793685034..a4084e163 100644
--- a/src/main/java/org/redkale/net/Server.java
+++ b/src/main/java/org/redkale/net/Server.java
@@ -14,6 +14,7 @@ import java.util.concurrent.atomic.LongAdder;
import java.util.logging.*;
import javax.net.ssl.SSLContext;
import org.redkale.boot.Application;
+import org.redkale.inject.ResourceFactory;
import static org.redkale.net.AsyncGroup.UDP_BUFFER_CAPACITY;
import org.redkale.net.Filter;
import org.redkale.util.*;
diff --git a/src/main/java/org/redkale/net/client/Client.java b/src/main/java/org/redkale/net/client/Client.java
index 84168e94a..245890eae 100644
--- a/src/main/java/org/redkale/net/client/Client.java
+++ b/src/main/java/org/redkale/net/client/Client.java
@@ -13,6 +13,7 @@ import java.util.function.*;
import java.util.logging.Logger;
import org.redkale.annotation.Nonnull;
import org.redkale.annotation.Nullable;
+import org.redkale.inject.Resourcable;
import org.redkale.net.*;
import org.redkale.util.*;
diff --git a/src/main/java/org/redkale/net/http/HttpServer.java b/src/main/java/org/redkale/net/http/HttpServer.java
index a798a69c1..594ffda8e 100644
--- a/src/main/java/org/redkale/net/http/HttpServer.java
+++ b/src/main/java/org/redkale/net/http/HttpServer.java
@@ -17,6 +17,7 @@ import java.util.concurrent.locks.ReentrantLock;
import java.util.function.Supplier;
import java.util.logging.Level;
import org.redkale.boot.Application;
+import org.redkale.inject.ResourceFactory;
import org.redkale.mq.*;
import org.redkale.net.Server;
import org.redkale.net.http.HttpContext.HttpContextConfig;
diff --git a/src/main/java/org/redkale/net/http/Rest.java b/src/main/java/org/redkale/net/http/Rest.java
index 03878fb33..6ec2de230 100644
--- a/src/main/java/org/redkale/net/http/Rest.java
+++ b/src/main/java/org/redkale/net/http/Rest.java
@@ -22,6 +22,7 @@ import static org.redkale.asm.Opcodes.*;
import org.redkale.asm.Type;
import org.redkale.convert.*;
import org.redkale.convert.json.*;
+import org.redkale.inject.ResourceFactory;
import org.redkale.mq.*;
import org.redkale.net.*;
import org.redkale.net.sncp.Sncp;
diff --git a/src/main/java/org/redkale/net/http/WebSocketServlet.java b/src/main/java/org/redkale/net/http/WebSocketServlet.java
index a7364adde..e36295da2 100644
--- a/src/main/java/org/redkale/net/http/WebSocketServlet.java
+++ b/src/main/java/org/redkale/net/http/WebSocketServlet.java
@@ -21,6 +21,8 @@ import org.redkale.annotation.Comment;
import org.redkale.boot.Application;
import static org.redkale.boot.Application.RESNAME_SERVER_RESFACTORY;
import org.redkale.convert.Convert;
+import org.redkale.inject.Resourcable;
+import org.redkale.inject.ResourceFactory;
import org.redkale.mq.MessageAgent;
import org.redkale.net.*;
import org.redkale.util.*;
diff --git a/src/main/java/org/redkale/net/sncp/Sncp.java b/src/main/java/org/redkale/net/sncp/Sncp.java
index 9fccea090..af889916c 100644
--- a/src/main/java/org/redkale/net/sncp/Sncp.java
+++ b/src/main/java/org/redkale/net/sncp/Sncp.java
@@ -19,6 +19,8 @@ import static org.redkale.asm.Opcodes.*;
import org.redkale.asm.Type;
import org.redkale.convert.Convert;
import org.redkale.convert.bson.BsonConvert;
+import org.redkale.inject.Resourcable;
+import org.redkale.inject.ResourceFactory;
import org.redkale.mq.MessageAgent;
import org.redkale.net.http.WebSocketNode;
import org.redkale.net.sncp.SncpRemoteInfo.SncpRemoteAction;
@@ -26,8 +28,6 @@ import org.redkale.schedule.Scheduled;
import org.redkale.service.*;
import org.redkale.util.AnyValue;
import org.redkale.util.RedkaleClassLoader;
-import org.redkale.util.Resourcable;
-import org.redkale.util.ResourceFactory;
import org.redkale.util.TypeToken;
import org.redkale.util.Uint128;
import org.redkale.util.Utility;
diff --git a/src/main/java/org/redkale/net/sncp/SncpServer.java b/src/main/java/org/redkale/net/sncp/SncpServer.java
index 6ffe30ac7..4fff82ef6 100644
--- a/src/main/java/org/redkale/net/sncp/SncpServer.java
+++ b/src/main/java/org/redkale/net/sncp/SncpServer.java
@@ -8,6 +8,7 @@ package org.redkale.net.sncp;
import java.util.List;
import java.util.concurrent.atomic.LongAdder;
import org.redkale.boot.Application;
+import org.redkale.inject.ResourceFactory;
import org.redkale.net.Server;
import org.redkale.net.sncp.SncpContext.SncpContextConfig;
import org.redkale.service.Service;
diff --git a/src/main/java/org/redkale/schedule/ScheduleManager.java b/src/main/java/org/redkale/schedule/ScheduleManager.java
index f678de980..836ddf3a5 100644
--- a/src/main/java/org/redkale/schedule/ScheduleManager.java
+++ b/src/main/java/org/redkale/schedule/ScheduleManager.java
@@ -16,11 +16,14 @@ package org.redkale.schedule;
public interface ScheduleManager {
/**
- * 开启宿主对象中所有的定时任务方法
+ * 开启宿主对象中所有的定时任务方法.
+ * 存在定时任务方法返回true,否则返回false
*
* @param service 宿主对象
+ *
+ * @return 存在定时任务方法返回true,否则返回false
*/
- public void schedule(Object service);
+ public boolean schedule(Object service);
/**
* 关闭宿主对象中所有的定时任务方法
diff --git a/src/main/java/org/redkale/schedule/support/ScheduleManagerService.java b/src/main/java/org/redkale/schedule/support/ScheduleManagerService.java
index 38eb3ee9d..31e52f485 100644
--- a/src/main/java/org/redkale/schedule/support/ScheduleManagerService.java
+++ b/src/main/java/org/redkale/schedule/support/ScheduleManagerService.java
@@ -21,6 +21,7 @@ import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ScheduledFuture;
import java.util.concurrent.ScheduledThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.locks.ReentrantLock;
import java.util.function.UnaryOperator;
import java.util.logging.Level;
@@ -59,6 +60,8 @@ public class ScheduleManagerService implements ScheduleManager, Service {
private final ConcurrentHashMap