From 4981af0e267fa54124478421051b617949cb3747 Mon Sep 17 00:00:00 2001 From: tjq Date: Mon, 18 May 2020 16:36:32 +0800 Subject: [PATCH] [dev] no longer use random akka port --- .../kfcfans/oms/server/akka/OhMyServer.java | 9 ++++- .../server/common/utils/PropertyUtils.java | 35 +++++++++++++++++++ 2 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 oh-my-scheduler-server/src/main/java/com/github/kfcfans/oms/server/common/utils/PropertyUtils.java diff --git a/oh-my-scheduler-server/src/main/java/com/github/kfcfans/oms/server/akka/OhMyServer.java b/oh-my-scheduler-server/src/main/java/com/github/kfcfans/oms/server/akka/OhMyServer.java index 2a929e90..bf5eae91 100644 --- a/oh-my-scheduler-server/src/main/java/com/github/kfcfans/oms/server/akka/OhMyServer.java +++ b/oh-my-scheduler-server/src/main/java/com/github/kfcfans/oms/server/akka/OhMyServer.java @@ -7,6 +7,7 @@ import com.github.kfcfans.oms.common.RemoteConstant; import com.github.kfcfans.oms.common.utils.NetUtils; import com.github.kfcfans.oms.server.akka.actors.FriendActor; import com.github.kfcfans.oms.server.akka.actors.ServerActor; +import com.github.kfcfans.oms.server.common.utils.PropertyUtils; import com.google.common.base.Stopwatch; import com.google.common.collect.Maps; import com.typesafe.config.Config; @@ -15,6 +16,7 @@ import lombok.Getter; import lombok.extern.slf4j.Slf4j; import java.util.Map; +import java.util.Properties; /** * 服务端 ActorSystem 启动器 @@ -35,10 +37,15 @@ public class OhMyServer { Stopwatch stopwatch = Stopwatch.createStarted(); log.info("[OhMyServer] OhMyServer's akka system start to bootstrap..."); + + // 1. 解析配置文件 + PropertyUtils.init(); + Properties properties = PropertyUtils.getProperties(); + int port = Integer.parseInt(properties.getProperty("oms.akka.port", "10086")); + // 1. 启动 ActorSystem Map overrideConfig = Maps.newHashMap(); String localIP = NetUtils.getLocalHost(); - int port = NetUtils.getAvailablePort(); overrideConfig.put("akka.remote.artery.canonical.hostname", localIP); overrideConfig.put("akka.remote.artery.canonical.port", port); actorSystemAddress = localIP + ":" + port; diff --git a/oh-my-scheduler-server/src/main/java/com/github/kfcfans/oms/server/common/utils/PropertyUtils.java b/oh-my-scheduler-server/src/main/java/com/github/kfcfans/oms/server/common/utils/PropertyUtils.java new file mode 100644 index 00000000..9ef100e6 --- /dev/null +++ b/oh-my-scheduler-server/src/main/java/com/github/kfcfans/oms/server/common/utils/PropertyUtils.java @@ -0,0 +1,35 @@ +package com.github.kfcfans.oms.server.common.utils; + +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.exception.ExceptionUtils; + +import java.io.InputStream; +import java.net.URL; +import java.util.Objects; +import java.util.Properties; + +/** + * 加载配置文件 + * + * @author tjq + * @since 2020/5/18 + */ +@Slf4j +public class PropertyUtils { + + private static final Properties PROPERTIES = new Properties(); + + public static Properties getProperties() { + return PROPERTIES; + } + + public static void init() { + URL propertiesURL =PropertyUtils.class.getClassLoader().getResource("application.properties"); + Objects.requireNonNull(propertiesURL); + try (InputStream is = propertiesURL.openStream()) { + PROPERTIES.load(is); + }catch (Exception e) { + ExceptionUtils.rethrow(e); + } + } +}