diff --git a/serverlogic/src/main/java/com/ljsd/GameApplication.java b/serverlogic/src/main/java/com/ljsd/GameApplication.java index 174d161fa..cf2fbf121 100644 --- a/serverlogic/src/main/java/com/ljsd/GameApplication.java +++ b/serverlogic/src/main/java/com/ljsd/GameApplication.java @@ -1,5 +1,6 @@ package com.ljsd; +import com.google.gson.Gson; import com.ljsd.common.mogodb.util.MongoKeys; import com.ljsd.jieling.config.ServerConfig; import com.ljsd.jieling.config.json.CoreSettings; @@ -7,10 +8,12 @@ import com.ljsd.jieling.config.json.ServerConfiguration; import com.ljsd.jieling.config.json.ServerProperties; import com.ljsd.jieling.core.CoreLogic; import com.ljsd.jieling.db.mongo.MongoUtil; +import com.ljsd.jieling.db.redis.RedisKey; import com.ljsd.jieling.db.redis.RedisUtil; import com.ljsd.jieling.handler.BaseHandler; import com.ljsd.jieling.handler.map.MapLogic; import com.ljsd.jieling.logic.GlobalDataManaager; +import com.ljsd.jieling.logic.OnlineUserManager; import com.ljsd.jieling.logic.STableManager; import com.ljsd.jieling.logic.activity.ActivityLogic; import com.ljsd.jieling.logic.dao.GuilidManager; @@ -60,7 +63,7 @@ public class GameApplication { public static int serverId = 0; public static int areaId = 0; public static boolean start = false; - + private static Gson gson = new Gson(); public static ServerConfig serverConfig; public static void main(String[] args) throws Exception { start = true; @@ -78,6 +81,7 @@ public class GameApplication { RedisUtil.getInstence().init(configurableApplicationContext); MongoUtil.getInstence().init(configurableApplicationContext); //注册消息处理方法 + register(configurableApplicationContext); ProtocolsManager protocolsManager = ProtocolsManager.getInstance(); protocolsManager.initCheck(); // protocolsManager.initContext(); @@ -166,6 +170,15 @@ public class GameApplication { serverConfig = serverConfigTmp; } + public static void register(ConfigurableApplicationContext configurableApplicationContext){ + CoreSettings coreSettings = configurableApplicationContext.getBean(CoreSettings.class); + String ip = coreSettings.getIp(); + int port = coreSettings.getPort(); + String rpcUrl = ip + ":" + port; + RedisUtil.getInstence().set(RedisKey.LOGIC_SERVER_INFO+RedisKey.Delimiter_colon+GameApplication.serverId,gson.toJson(rpcUrl)); + } + + private static void close() { start = false; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/db/redis/RedisKey.java b/serverlogic/src/main/java/com/ljsd/jieling/db/redis/RedisKey.java index 6b65db3a3..3df4242ed 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/db/redis/RedisKey.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/db/redis/RedisKey.java @@ -172,6 +172,7 @@ public class RedisKey { public static final String BLOODY_SERVER_INFO = "BLOODY_SERVER_INFO"; public static final String BLOODY_PERSON_BATTLE_INFO = "BLOODY_PERSON_BATTLE_INFO"; public static final String MATCH_SERVER_INFO = "MATCH_SERVER_INFO"; + public static final String LOGIC_SERVER_INFO = "LOGIC_SERVER_INFO"; public final static String CDKEY = "CDKEY";