63 lines
2.1 KiB
Java
63 lines
2.1 KiB
Java
package com.global;
|
||
|
||
import com.global.config.ConfigurableApplicationContextManager;
|
||
import com.global.config.CoreSettings;
|
||
import com.global.logic.GlobalLogic;
|
||
import com.global.redis.RedisUtil;
|
||
import com.global.thread.ThreadManager;
|
||
import com.global.thrift.pool.GlobalRpcService;
|
||
import com.global.thrift.pool.RPCServerTask;
|
||
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:
|
||
* 1 提供服务管理 将gm部分功能迁移过来(开服人数控制等等)
|
||
* 2 全局命名(老代码还没加锁)
|
||
* 3 跨服玩法服务器分组 (初版直接作为跨服服务器 二次迭代 作为世界服网关 使用zookeeper注册发现服务 在此处处理转发逻辑 类似消息中间件)
|
||
*
|
||
*
|
||
*
|
||
* 获取分组信息
|
||
* Author: zsx
|
||
* CreateDate: 2020/11/17 17:36
|
||
*/
|
||
@Configuration
|
||
@EnableAutoConfiguration
|
||
@ComponentScan
|
||
@EnableScheduling
|
||
public class GlobalServerApplication {
|
||
private static final Logger LOGGER = LoggerFactory.getLogger(GlobalServerApplication.class);
|
||
public static CoreSettings bean;
|
||
public static void main(String[] args) {
|
||
|
||
ConfigurableApplicationContextManager.init(args);
|
||
|
||
//线程池管理器
|
||
ThreadManager threadManager = ThreadManager.getInstance();
|
||
threadManager.init();
|
||
|
||
try {
|
||
STableManager.initialize("config");
|
||
}catch (Exception e){
|
||
LOGGER.info("STableManager err ->{}", e);
|
||
}
|
||
|
||
GlobalRpcService.initHandler("com.global.handler",GlobalServerApplication.class.getClassLoader());
|
||
|
||
new RPCServerTask().start();
|
||
RedisUtil.getInstence().init();
|
||
bean = ConfigurableApplicationContextManager.getBean(CoreSettings.class);
|
||
LOGGER.info("ServerProperties ->{}", bean.toString());
|
||
//启动时候分组
|
||
GlobalLogic.getInstance().doSplit();
|
||
}
|
||
|
||
|
||
}
|