From 710f8fc632a184c1cb77f570f4cac2ba86acd9f8 Mon Sep 17 00:00:00 2001 From: redkale Date: Mon, 25 Dec 2023 12:37:58 +0800 Subject: [PATCH] cluster --- src/main/java/module-info.java | 3 +- .../java/org/redkale/boot/Application.java | 4 ++ .../java/org/redkale/boot/NodeHttpServer.java | 2 +- .../java/org/redkale/boot/NodeServer.java | 2 +- .../cluster/{ => spi}/CacheClusterAgent.java | 3 +- .../cluster/{ => spi}/ClusterAgent.java | 3 +- .../{ => spi}/ClusterAgentProvider.java | 2 +- .../{ => spi}/ClusterModuleEngine.java | 2 +- .../{ => spi}/HttpClusterRpcClient.java | 3 +- .../cluster/{ => spi}/HttpLocalRpcClient.java | 3 +- .../org/redkale/mq/MessageMultiConsumer.java | 63 ------------------- .../java/org/redkale/mq/MessageProducer.java | 2 +- .../java/org/redkale/mq/ResourceProducer.java | 2 +- .../org/redkale/util/RedkaleClassLoader.java | 1 + 14 files changed, 19 insertions(+), 76 deletions(-) rename src/main/java/org/redkale/cluster/{ => spi}/CacheClusterAgent.java (96%) rename src/main/java/org/redkale/cluster/{ => spi}/ClusterAgent.java (96%) rename src/main/java/org/redkale/cluster/{ => spi}/ClusterAgentProvider.java (88%) rename src/main/java/org/redkale/cluster/{ => spi}/ClusterModuleEngine.java (99%) rename src/main/java/org/redkale/cluster/{ => spi}/HttpClusterRpcClient.java (99%) rename src/main/java/org/redkale/cluster/{ => spi}/HttpLocalRpcClient.java (96%) delete mode 100644 src/main/java/org/redkale/mq/MessageMultiConsumer.java diff --git a/src/main/java/module-info.java b/src/main/java/module-info.java index 8d2a674a5..33c019264 100644 --- a/src/main/java/module-info.java +++ b/src/main/java/module-info.java @@ -20,6 +20,7 @@ module org.redkale { exports org.redkale.cache; exports org.redkale.cache.spi; exports org.redkale.cluster; + exports org.redkale.cluster.spi; exports org.redkale.convert; exports org.redkale.convert.bson; exports org.redkale.convert.ext; @@ -44,7 +45,7 @@ module org.redkale { uses org.redkale.boot.PropertiesAgentProvider; uses org.redkale.cache.spi.CacheManagerProvider; - uses org.redkale.cluster.ClusterAgentProvider; + uses org.redkale.cluster.spi.ClusterAgentProvider; uses org.redkale.convert.ConvertProvider; uses org.redkale.inject.ResourceAnnotationProvider; uses org.redkale.mq.spi.MessageAgentProvider; diff --git a/src/main/java/org/redkale/boot/Application.java b/src/main/java/org/redkale/boot/Application.java index 969699be7..9932adf22 100644 --- a/src/main/java/org/redkale/boot/Application.java +++ b/src/main/java/org/redkale/boot/Application.java @@ -25,6 +25,10 @@ import org.redkale.asm.AsmMethodBoost; import org.redkale.boot.ClassFilter.FilterEntry; import org.redkale.cache.spi.CacheModuleEngine; import org.redkale.cluster.*; +import org.redkale.cluster.spi.ClusterAgent; +import org.redkale.cluster.spi.ClusterModuleEngine; +import org.redkale.cluster.spi.HttpClusterRpcClient; +import org.redkale.cluster.spi.HttpLocalRpcClient; import org.redkale.convert.Convert; import org.redkale.convert.bson.BsonFactory; import org.redkale.convert.json.*; diff --git a/src/main/java/org/redkale/boot/NodeHttpServer.java b/src/main/java/org/redkale/boot/NodeHttpServer.java index 0f33d1ce7..0fce8d046 100644 --- a/src/main/java/org/redkale/boot/NodeHttpServer.java +++ b/src/main/java/org/redkale/boot/NodeHttpServer.java @@ -17,7 +17,7 @@ import org.redkale.annotation.*; import org.redkale.asm.AsmMethodBoost; import static org.redkale.boot.Application.RESNAME_SNCP_ADDRESS; import org.redkale.boot.ClassFilter.FilterEntry; -import org.redkale.cluster.ClusterAgent; +import org.redkale.cluster.spi.ClusterAgent; import org.redkale.inject.ResourceFactory; import org.redkale.inject.ResourceTypeLoader; import org.redkale.mq.spi.MessageAgent; diff --git a/src/main/java/org/redkale/boot/NodeServer.java b/src/main/java/org/redkale/boot/NodeServer.java index 6999900ea..c7843a29e 100644 --- a/src/main/java/org/redkale/boot/NodeServer.java +++ b/src/main/java/org/redkale/boot/NodeServer.java @@ -21,7 +21,7 @@ import org.redkale.annotation.Command; import org.redkale.asm.AsmMethodBoost; import static org.redkale.boot.Application.*; import org.redkale.boot.ClassFilter.FilterEntry; -import org.redkale.cluster.ClusterAgent; +import org.redkale.cluster.spi.ClusterAgent; import org.redkale.inject.ResourceFactory; import org.redkale.inject.ResourceTypeLoader; import org.redkale.mq.spi.MessageAgent; diff --git a/src/main/java/org/redkale/cluster/CacheClusterAgent.java b/src/main/java/org/redkale/cluster/spi/CacheClusterAgent.java similarity index 96% rename from src/main/java/org/redkale/cluster/CacheClusterAgent.java rename to src/main/java/org/redkale/cluster/spi/CacheClusterAgent.java index c9de15d1a..41c106272 100644 --- a/src/main/java/org/redkale/cluster/CacheClusterAgent.java +++ b/src/main/java/org/redkale/cluster/spi/CacheClusterAgent.java @@ -3,7 +3,7 @@ * To change this template file, choose Tools | Templates * and open the template in the editor. */ -package org.redkale.cluster; +package org.redkale.cluster.spi; import java.net.InetSocketAddress; import java.util.*; @@ -18,7 +18,6 @@ import org.redkale.inject.ResourceEvent; import org.redkale.service.Service; import org.redkale.source.CacheSource; import org.redkale.util.*; -import org.redkale.annotation.ResourceChanged; /** * 使用CacheSource实现的第三方服务发现管理接口cluster diff --git a/src/main/java/org/redkale/cluster/ClusterAgent.java b/src/main/java/org/redkale/cluster/spi/ClusterAgent.java similarity index 96% rename from src/main/java/org/redkale/cluster/ClusterAgent.java rename to src/main/java/org/redkale/cluster/spi/ClusterAgent.java index 9b5b6777c..80fb66dba 100644 --- a/src/main/java/org/redkale/cluster/ClusterAgent.java +++ b/src/main/java/org/redkale/cluster/spi/ClusterAgent.java @@ -3,7 +3,7 @@ * To change this template file, choose Tools | Templates * and open the template in the editor. */ -package org.redkale.cluster; +package org.redkale.cluster.spi; import java.lang.ref.WeakReference; import java.net.*; @@ -23,7 +23,6 @@ import org.redkale.net.http.*; import org.redkale.net.sncp.*; import org.redkale.service.*; import org.redkale.util.*; -import org.redkale.annotation.ResourceChanged; /** * 服务注册中心管理类cluster diff --git a/src/main/java/org/redkale/cluster/ClusterAgentProvider.java b/src/main/java/org/redkale/cluster/spi/ClusterAgentProvider.java similarity index 88% rename from src/main/java/org/redkale/cluster/ClusterAgentProvider.java rename to src/main/java/org/redkale/cluster/spi/ClusterAgentProvider.java index b8b24d27a..c4227981f 100644 --- a/src/main/java/org/redkale/cluster/ClusterAgentProvider.java +++ b/src/main/java/org/redkale/cluster/spi/ClusterAgentProvider.java @@ -3,7 +3,7 @@ * To change this template file, choose Tools | Templates * and open the template in the editor. */ -package org.redkale.cluster; +package org.redkale.cluster.spi; import org.redkale.util.*; diff --git a/src/main/java/org/redkale/cluster/ClusterModuleEngine.java b/src/main/java/org/redkale/cluster/spi/ClusterModuleEngine.java similarity index 99% rename from src/main/java/org/redkale/cluster/ClusterModuleEngine.java rename to src/main/java/org/redkale/cluster/spi/ClusterModuleEngine.java index 57bda5e67..4a45169a4 100644 --- a/src/main/java/org/redkale/cluster/ClusterModuleEngine.java +++ b/src/main/java/org/redkale/cluster/spi/ClusterModuleEngine.java @@ -1,7 +1,7 @@ /* * */ -package org.redkale.cluster; +package org.redkale.cluster.spi; import java.util.ArrayList; import java.util.HashSet; diff --git a/src/main/java/org/redkale/cluster/HttpClusterRpcClient.java b/src/main/java/org/redkale/cluster/spi/HttpClusterRpcClient.java similarity index 99% rename from src/main/java/org/redkale/cluster/HttpClusterRpcClient.java rename to src/main/java/org/redkale/cluster/spi/HttpClusterRpcClient.java index ba16150cb..c0c3db2ed 100644 --- a/src/main/java/org/redkale/cluster/HttpClusterRpcClient.java +++ b/src/main/java/org/redkale/cluster/spi/HttpClusterRpcClient.java @@ -1,4 +1,4 @@ -package org.redkale.cluster; +package org.redkale.cluster.spi; import java.io.Serializable; import java.net.*; @@ -10,6 +10,7 @@ import java.util.logging.Level; import java.util.logging.Logger; import org.redkale.annotation.Resource; import org.redkale.boot.Application; +import org.redkale.cluster.HttpRpcClient; import org.redkale.net.http.*; import org.redkale.util.Traces; import org.redkale.util.Utility; diff --git a/src/main/java/org/redkale/cluster/HttpLocalRpcClient.java b/src/main/java/org/redkale/cluster/spi/HttpLocalRpcClient.java similarity index 96% rename from src/main/java/org/redkale/cluster/HttpLocalRpcClient.java rename to src/main/java/org/redkale/cluster/spi/HttpLocalRpcClient.java index 12852e591..a31132787 100644 --- a/src/main/java/org/redkale/cluster/HttpLocalRpcClient.java +++ b/src/main/java/org/redkale/cluster/spi/HttpLocalRpcClient.java @@ -3,7 +3,7 @@ * To change this template file, choose Tools | Templates * and open the template in the editor. */ -package org.redkale.cluster; +package org.redkale.cluster.spi; import java.io.Serializable; import java.lang.reflect.Type; @@ -13,6 +13,7 @@ import java.util.concurrent.CompletableFuture; import java.util.logging.Level; import java.util.logging.Logger; import org.redkale.boot.*; +import org.redkale.cluster.HttpRpcClient; import org.redkale.convert.Convert; import org.redkale.convert.json.JsonConvert; import org.redkale.net.http.*; diff --git a/src/main/java/org/redkale/mq/MessageMultiConsumer.java b/src/main/java/org/redkale/mq/MessageMultiConsumer.java deleted file mode 100644 index 33679b26c..000000000 --- a/src/main/java/org/redkale/mq/MessageMultiConsumer.java +++ /dev/null @@ -1,63 +0,0 @@ -///* -// * To change this license header, choose License Headers in Project Properties. -// * To change this template file, choose Tools | Templates -// * and open the template in the editor. -// */ -//package org.redkale.mq; -// -//import static java.lang.annotation.RetentionPolicy.RUNTIME; -//import java.lang.annotation.*; -//import static java.lang.annotation.ElementType.*; -// -///** -// * 多消费组,需要同 @RestService 一起使用 -// *

-// * 通常一个topic只会被一个RestService消费, 当一个topic需要被其他RestService消费时,就需要使用@MessageMultiConsumer -// * -// *

-// * @RestService(name = "user", comment = "用户服务")
-// * public class UserService implements Service{
-// *
-// *      @RestMapping(comment = "用户登录")
-// *      public RetResult login(LoginBean bean){
-// *          //do something
-// *      }
-// * }
-// * 
-// * -// * 需求:统计用户登录次数, 可以创建一个MessageMultiConsumer 的 RestService: -// *
-// * @MessageMultiConsumer(module = "user") 
-// * @RestService(name = "loginstat", comment = "用户统计服务")
-// * public class LoginStatService implements Service{
-// *
-// *      private LongAdder counter = new LongAdder();
-// *
-// *      @RestMapping(name = "login", comment = "用户登录统计")
-// *      public void stat(LoginBean bean){     //参数必须和UserService.login方法一致
-// *          counter.increment();
-// *      }
-// * }
-// * 
-// * -// *

-// * 注: 标记 @MessageMultiConsumer 的Service的@RestMapping方法都只能是void返回类型
-// * 由 MessageConsumer 代替 -// *

-// * 详情见: https://redkale.org -// * -// * -// * @author zhangjx -// * @deprecated -// * -// * @since 2.1.0 -// */ -//@Inherited -//@Documented -//@Target({TYPE}) -//@Retention(RUNTIME) -//@Deprecated(since = "2.8.0") -//public @interface MessageMultiConsumer { -// -// String module(); -//} diff --git a/src/main/java/org/redkale/mq/MessageProducer.java b/src/main/java/org/redkale/mq/MessageProducer.java index fbbfc73a1..0cb651756 100644 --- a/src/main/java/org/redkale/mq/MessageProducer.java +++ b/src/main/java/org/redkale/mq/MessageProducer.java @@ -8,7 +8,7 @@ import java.util.concurrent.CompletableFuture; import org.redkale.convert.Convert; /** - * MQ消息发送器 + * MQ消息发送器 {@link org.redkale.mq.ResourceProducer} * *

* 详情见: https://redkale.org diff --git a/src/main/java/org/redkale/mq/ResourceProducer.java b/src/main/java/org/redkale/mq/ResourceProducer.java index c7ba013df..23e5ee8ba 100644 --- a/src/main/java/org/redkale/mq/ResourceProducer.java +++ b/src/main/java/org/redkale/mq/ResourceProducer.java @@ -9,7 +9,7 @@ import static java.lang.annotation.RetentionPolicy.RUNTIME; import org.redkale.convert.ConvertType; /** - * MQ资源注解, 只能标记在MessageProducer类型字段上 + * MQ资源注解, 只能标记在{@link org.redkale.mq.MessageProducer}类型字段上 * *

* 详情见: https://redkale.org diff --git a/src/main/java/org/redkale/util/RedkaleClassLoader.java b/src/main/java/org/redkale/util/RedkaleClassLoader.java index 86207a8f7..944fba68c 100644 --- a/src/main/java/org/redkale/util/RedkaleClassLoader.java +++ b/src/main/java/org/redkale/util/RedkaleClassLoader.java @@ -50,6 +50,7 @@ public class RedkaleClassLoader extends URLClassLoader { "org.redkale.cache", "org.redkale.cache.spi", "org.redkale.cluster", + "org.redkale.cluster.spi", "org.redkale.convert", "org.redkale.convert.bson", "org.redkale.convert.ext",