package com; import com.world.config.ConfigurableApplicationContextManager; import com.world.config.WorldCoreSettings; import com.world.db.mongo.MongoUtil; import com.world.logic.arean.ArenaLogic; import com.world.redis.RedisUtil; import com.world.thread.ThreadManager; import com.world.thrift.idl.pool.RPCServerTask; import com.world.thrift.idl.pool.WorldRpcService; import manager.STableManager; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.annotation.EnableScheduling; /** * Description: 提供跨服玩法 * 不入库玩家数据 * 不对逻辑服做推送服务 * Author: zsx * CreateDate: 2020/11/19 11:48 */ @Configuration @EnableAutoConfiguration @ComponentScan @EnableScheduling public class WorldServerApplication { private static final Logger LOGGER = LoggerFactory.getLogger(WorldServerApplication.class); public static WorldCoreSettings bean; public static void main(String[] args) throws Exception { ConfigurableApplicationContextManager.init(args); try { MongoUtil.getInstence().init(); } catch (Exception e) { LOGGER.info("MongoUtil err ->{}", e); } try { RedisUtil.getInstence().init(); } catch (Exception e) { LOGGER.info("MongoUtil err ->{}", e); } //线程池管理器 ThreadManager threadManager = ThreadManager.getInstance(); threadManager.init(); try { STableManager.initialize("config"); } catch (Exception e) { LOGGER.info("STableManager err ->{}", e); } WorldRpcService.initHandler("com.world.handler", WorldServerApplication.class.getClassLoader()); new RPCServerTask().start(); //切换netty通信 // NetManager.getInstance().init(); try { ArenaLogic.initRank(); }catch (Exception e){ LOGGER.info("ArenaLogic err ->{}", e); } bean = ConfigurableApplicationContextManager.getBean(WorldCoreSettings.class); LOGGER.info("ServerProperties ->{}", bean.toString()); } }