From 38d6b16c749a1b18dd1036b66b6b7095670dc0eb Mon Sep 17 00:00:00 2001 From: tjq Date: Fri, 20 Jan 2023 09:00:52 +0800 Subject: [PATCH] feat: HandlerLocation use serverType --- .../powerjob/remote/framework/base/HandlerLocation.java | 4 ++-- .../tech/powerjob/remote/akka/AkkaCSInitializer.java | 4 ++-- .../java/tech/powerjob/remote/akka/AkkaConstant.java | 9 ++------- .../java/tech/powerjob/remote/akka/AkkaTransporter.java | 6 ++---- 4 files changed, 8 insertions(+), 15 deletions(-) diff --git a/powerjob-remote/powerjob-remote-framework/src/main/java/tech/powerjob/remote/framework/base/HandlerLocation.java b/powerjob-remote/powerjob-remote-framework/src/main/java/tech/powerjob/remote/framework/base/HandlerLocation.java index 1b3d5e63..31fc498a 100644 --- a/powerjob-remote/powerjob-remote-framework/src/main/java/tech/powerjob/remote/framework/base/HandlerLocation.java +++ b/powerjob-remote/powerjob-remote-framework/src/main/java/tech/powerjob/remote/framework/base/HandlerLocation.java @@ -27,9 +27,9 @@ public class HandlerLocation implements Serializable { */ private String methodPath; /** - * 是否在本集群内(用于兼容 AKKA 等除了IP还需要指定 system 访问的情况) + * 调用的集群类型(用于兼容 AKKA 等除了IP还需要指定 system 访问的情况) */ - private boolean insideCluster; + private ServerType serverType; public String toPath() { return String.format("/%s/%s", rootPath, methodPath); diff --git a/powerjob-remote/powerjob-remote-impl-akka/src/main/java/tech/powerjob/remote/akka/AkkaCSInitializer.java b/powerjob-remote/powerjob-remote-impl-akka/src/main/java/tech/powerjob/remote/akka/AkkaCSInitializer.java index f3681434..98ac5e36 100644 --- a/powerjob-remote/powerjob-remote-impl-akka/src/main/java/tech/powerjob/remote/akka/AkkaCSInitializer.java +++ b/powerjob-remote/powerjob-remote-impl-akka/src/main/java/tech/powerjob/remote/akka/AkkaCSInitializer.java @@ -58,7 +58,7 @@ public class AkkaCSInitializer implements CSInitializer { log.info("[PowerJob-AKKA] try to start AKKA System by config: {}", akkaFinalConfig); // 启动时绑定当前的 actorSystemName - String actorSystemName = AkkaConstant.fetchActorSystemName(config.getServerType(), true); + String actorSystemName = AkkaConstant.fetchActorSystemName(config.getServerType()); this.actorSystem = ActorSystem.create(actorSystemName, akkaFinalConfig); // 处理系统中产生的异常情况 @@ -70,7 +70,7 @@ public class AkkaCSInitializer implements CSInitializer { @Override public Transporter buildTransporter() { - return new AkkaTransporter(config.getServerType(), actorSystem); + return new AkkaTransporter(actorSystem); } @Override diff --git a/powerjob-remote/powerjob-remote-impl-akka/src/main/java/tech/powerjob/remote/akka/AkkaConstant.java b/powerjob-remote/powerjob-remote-impl-akka/src/main/java/tech/powerjob/remote/akka/AkkaConstant.java index efd191c4..d106260a 100644 --- a/powerjob-remote/powerjob-remote-impl-akka/src/main/java/tech/powerjob/remote/akka/AkkaConstant.java +++ b/powerjob-remote/powerjob-remote-impl-akka/src/main/java/tech/powerjob/remote/akka/AkkaConstant.java @@ -18,17 +18,12 @@ public class AkkaConstant { /** * 获取 actorSystem 名称 * @param serverType 当前服务器类型,powerjob-server 为 server,powerjob-worker 为 worker - * @param mine 是否输出当前服务器对应的 actorSystemName,mine = false 后倒置为目标服务器的 actorSystemName * @return actorSystemName */ - public static String fetchActorSystemName(ServerType serverType, boolean mine) { + public static String fetchActorSystemName(ServerType serverType) { - boolean outputServer = serverType == ServerType.SERVER; - if (!mine) { - outputServer = !outputServer; - } - return outputServer ? SERVER_ACTOR_SYSTEM_NAME : WORKER_ACTOR_SYSTEM_NAME; + return serverType == ServerType.SERVER ? SERVER_ACTOR_SYSTEM_NAME : WORKER_ACTOR_SYSTEM_NAME; } } diff --git a/powerjob-remote/powerjob-remote-impl-akka/src/main/java/tech/powerjob/remote/akka/AkkaTransporter.java b/powerjob-remote/powerjob-remote-impl-akka/src/main/java/tech/powerjob/remote/akka/AkkaTransporter.java index 57b52d29..4fcc3373 100644 --- a/powerjob-remote/powerjob-remote-impl-akka/src/main/java/tech/powerjob/remote/akka/AkkaTransporter.java +++ b/powerjob-remote/powerjob-remote-impl-akka/src/main/java/tech/powerjob/remote/akka/AkkaTransporter.java @@ -28,7 +28,6 @@ import java.util.concurrent.ExecutorService; */ public class AkkaTransporter implements Transporter { - private final ServerType serverType; private final ActorSystem actorSystem; @@ -37,9 +36,8 @@ public class AkkaTransporter implements Transporter { */ private static final String AKKA_NODE_PATH = "akka://%s@%s/user/%s"; - public AkkaTransporter(ServerType serverType, ActorSystem actorSystem) { + public AkkaTransporter(ActorSystem actorSystem) { this.actorSystem = actorSystem; - this.serverType = serverType; } @Override @@ -63,7 +61,7 @@ public class AkkaTransporter implements Transporter { private ActorSelection fetchActorSelection(URL url) { HandlerLocation location = url.getLocation(); - String targetActorSystemName = AkkaConstant.fetchActorSystemName(serverType, location.isInsideCluster()); + String targetActorSystemName = AkkaConstant.fetchActorSystemName(location.getServerType()); String targetActorName = AkkaMappingService.parseActorName(location.getRootPath()).getActorName();