package com.ljsd; import com.google.gson.Gson; import com.ljsd.jieling.config.CoreSettings; import com.ljsd.jieling.config.ServerInfo; import com.ljsd.jieling.redis.RedisKey; import com.ljsd.jieling.redis.RedisUtil; import com.ljsd.jieling.thrift.RPCServerTask; import com.ljsd.jieling.thrift.pool.ThriftPoolUtils; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.context.ConfigurableApplicationContext; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.annotation.EnableScheduling; @Configuration @EnableAutoConfiguration @ComponentScan @EnableScheduling public class MatchServerApplication { public static int arenId = 0; private static Gson gson = new Gson(); public static void main(String[] args) { SpringApplication springApplication = new SpringApplication(MatchServerApplication.class); springApplication.setRegisterShutdownHook(false); springApplication.setWebEnvironment(false); ConfigurableApplicationContext configurableApplicationContext = springApplication.run(args); ThriftPoolUtils.getInstance().initContext(configurableApplicationContext); RedisUtil.getInstence().init(configurableApplicationContext); new RPCServerTask(configurableApplicationContext).start(); CoreSettings bean = configurableApplicationContext.getBean(CoreSettings.class); arenId = bean.getArea(); register(configurableApplicationContext); } public static void register(ConfigurableApplicationContext configurableApplicationContext){ CoreSettings coreSettings = configurableApplicationContext.getBean(CoreSettings.class); String ip = coreSettings.getIp(); int port = coreSettings.getPort(); int area = coreSettings.getArea(); String rpcUrl = ip + ":" + port; RedisUtil.getInstence().sadd(RedisKey.MATCH_SERVER_INFO + ":" + area,gson.toJson(rpcUrl)); RedisUtil.getInstence().set( RedisKey.MATCH_SIZE + ":" + area,Integer.toString(1)); } }