diff --git a/README.md b/README.md index f5f8dc5a85d5466224e286a55fe2c7333bea6e9c..f99f96a9023e3dc20e3d12f63330e23618eaaff4 100644 --- a/README.md +++ b/README.md @@ -115,7 +115,7 @@ fork 项目到自己的仓库,然后克隆项目到自己的本地:`git clon ### CheckStyle 插件下载和配置 -IntelliJ IDEA-> Preferences->Plugins->搜索下载 CheckStyle 插件,然后按照如下方式进行配置。 +`IntelliJ IDEA-> Preferences->Plugins->搜索下载 CheckStyle 插件`,然后按照如下方式进行配置。 ![CheckStyle 插件下载和配置](./images/setting-check-style.png) diff --git a/rpc-framework-common/src/main/java/github/javaguide/extension/ExtensionLoader.java b/rpc-framework-common/src/main/java/github/javaguide/extension/ExtensionLoader.java index caf922b2c13aa82bec2e7646c982ff42c59fc314..fc9e116df44128ab316c7ac8c7efea70adcb4fb1 100644 --- a/rpc-framework-common/src/main/java/github/javaguide/extension/ExtensionLoader.java +++ b/rpc-framework-common/src/main/java/github/javaguide/extension/ExtensionLoader.java @@ -1,6 +1,5 @@ package github.javaguide.extension; -import github.javaguide.utils.Holder; import lombok.extern.slf4j.Slf4j; import java.io.BufferedReader; @@ -88,7 +87,6 @@ public final class ExtensionLoader { instance = (T) EXTENSION_INSTANCES.get(clazz); } catch (Exception e) { log.error(e.getMessage()); - throw new RuntimeException("Fail to create an instance of the extension class " + clazz); } } return instance; diff --git a/rpc-framework-common/src/main/java/github/javaguide/utils/Holder.java b/rpc-framework-common/src/main/java/github/javaguide/extension/Holder.java similarity index 82% rename from rpc-framework-common/src/main/java/github/javaguide/utils/Holder.java rename to rpc-framework-common/src/main/java/github/javaguide/extension/Holder.java index 09b1fc60628a25d259dda7197fb1d1aa4e83573e..090dff7d3cabffe23a648848df85568fbbdd29bf 100644 --- a/rpc-framework-common/src/main/java/github/javaguide/utils/Holder.java +++ b/rpc-framework-common/src/main/java/github/javaguide/extension/Holder.java @@ -1,4 +1,4 @@ -package github.javaguide.utils; +package github.javaguide.extension; public class Holder { diff --git a/rpc-framework-common/src/main/java/github/javaguide/utils/file/PropertiesFileUtils.java b/rpc-framework-common/src/main/java/github/javaguide/utils/PropertiesFileUtil.java similarity index 90% rename from rpc-framework-common/src/main/java/github/javaguide/utils/file/PropertiesFileUtils.java rename to rpc-framework-common/src/main/java/github/javaguide/utils/PropertiesFileUtil.java index 89ad6336933b6137abb1ed6733d7528b223a23d6..bcb29a6af4c8118745076c89ddaa9b9e65167d5d 100644 --- a/rpc-framework-common/src/main/java/github/javaguide/utils/file/PropertiesFileUtils.java +++ b/rpc-framework-common/src/main/java/github/javaguide/utils/PropertiesFileUtil.java @@ -1,4 +1,4 @@ -package github.javaguide.utils.file; +package github.javaguide.utils; import lombok.extern.slf4j.Slf4j; @@ -14,8 +14,8 @@ import java.util.Properties; * @createTime 2020年07月21日 14:25:00 **/ @Slf4j -public final class PropertiesFileUtils { - private PropertiesFileUtils() { +public final class PropertiesFileUtil { + private PropertiesFileUtil() { } public static Properties readPropertiesFile(String fileName) { diff --git a/rpc-framework-simple/src/main/java/github/javaguide/registry/zk/ZkServiceDiscovery.java b/rpc-framework-simple/src/main/java/github/javaguide/registry/zk/ZkServiceDiscovery.java index 3a3d3af8909fa3b07614a4e4dc025779e180f35d..ab672023d51fff86221291f43a3542b33a844ab8 100644 --- a/rpc-framework-simple/src/main/java/github/javaguide/registry/zk/ZkServiceDiscovery.java +++ b/rpc-framework-simple/src/main/java/github/javaguide/registry/zk/ZkServiceDiscovery.java @@ -30,7 +30,7 @@ public class ZkServiceDiscovery implements ServiceDiscovery { public InetSocketAddress lookupService(String rpcServiceName) { CuratorFramework zkClient = CuratorUtils.getZkClient(); List serviceUrlList = CuratorUtils.getChildrenNodes(zkClient, rpcServiceName); - if (serviceUrlList.size() == 0) { + if (serviceUrlList == null || serviceUrlList.size() == 0) { throw new RpcException(RpcErrorMessageEnum.SERVICE_CAN_NOT_BE_FOUND, rpcServiceName); } // load balancing diff --git a/rpc-framework-simple/src/main/java/github/javaguide/registry/zk/util/CuratorUtils.java b/rpc-framework-simple/src/main/java/github/javaguide/registry/zk/util/CuratorUtils.java index ca8047bd8b3a42d56240a10cd297cd888b7862a1..bf7ac024c788e1e4d1d8c8a202cff5f1de2890dd 100644 --- a/rpc-framework-simple/src/main/java/github/javaguide/registry/zk/util/CuratorUtils.java +++ b/rpc-framework-simple/src/main/java/github/javaguide/registry/zk/util/CuratorUtils.java @@ -1,8 +1,7 @@ package github.javaguide.registry.zk.util; import github.javaguide.enums.RpcConfigEnum; -import github.javaguide.exception.RpcException; -import github.javaguide.utils.file.PropertiesFileUtils; +import github.javaguide.utils.PropertiesFileUtil; import lombok.extern.slf4j.Slf4j; import org.apache.curator.RetryPolicy; import org.apache.curator.framework.CuratorFramework; @@ -55,7 +54,7 @@ public final class CuratorUtils { } REGISTERED_PATH_SET.add(path); } catch (Exception e) { - throw new RpcException(e.getMessage(), e.getCause()); + log.error("create persistent node for path [{}] fail", path); } } @@ -69,14 +68,14 @@ public final class CuratorUtils { if (SERVICE_ADDRESS_MAP.containsKey(rpcServiceName)) { return SERVICE_ADDRESS_MAP.get(rpcServiceName); } - List result; + List result = null; String servicePath = ZK_REGISTER_ROOT_PATH + "/" + rpcServiceName; try { result = zkClient.getChildren().forPath(servicePath); SERVICE_ADDRESS_MAP.put(rpcServiceName, result); registerWatcher(rpcServiceName, zkClient); } catch (Exception e) { - throw new RpcException(e.getMessage(), e.getCause()); + log.error("get children nodes for path [{}] fail", servicePath); } return result; } @@ -89,7 +88,7 @@ public final class CuratorUtils { try { zkClient.delete().forPath(p); } catch (Exception e) { - throw new RpcException(e.getMessage(), e.getCause()); + log.error("clear registry for path [{}] fail", p); } }); log.info("All registered services on the server are cleared:[{}]", REGISTERED_PATH_SET.toString()); @@ -97,7 +96,7 @@ public final class CuratorUtils { public static CuratorFramework getZkClient() { // check if user has set zk address - Properties properties = PropertiesFileUtils.readPropertiesFile(RpcConfigEnum.RPC_CONFIG_PATH.getPropertyValue()); + Properties properties = PropertiesFileUtil.readPropertiesFile(RpcConfigEnum.RPC_CONFIG_PATH.getPropertyValue()); if (properties != null) { defaultZookeeperAddress = properties.getProperty(RpcConfigEnum.ZK_ADDRESS.getPropertyValue()); } @@ -121,7 +120,7 @@ public final class CuratorUtils { * * @param rpcServiceName rpc service name eg:github.javaguide.HelloServicetest2version */ - private static void registerWatcher(String rpcServiceName, CuratorFramework zkClient) { + private static void registerWatcher(String rpcServiceName, CuratorFramework zkClient) throws Exception { String servicePath = ZK_REGISTER_ROOT_PATH + "/" + rpcServiceName; PathChildrenCache pathChildrenCache = new PathChildrenCache(zkClient, servicePath, true); PathChildrenCacheListener pathChildrenCacheListener = (curatorFramework, pathChildrenCacheEvent) -> { @@ -129,11 +128,7 @@ public final class CuratorUtils { SERVICE_ADDRESS_MAP.put(rpcServiceName, serviceAddresses); }; pathChildrenCache.getListenable().addListener(pathChildrenCacheListener); - try { - pathChildrenCache.start(); - } catch (Exception e) { - throw new RpcException(e.getMessage(), e.getCause()); - } + pathChildrenCache.start(); } }