miduo_server/globalidserver/src/main/java/com/global/GlobalServerApplication.java

63 lines
2.1 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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();
}
}