package com.metazion.jgd.action; import com.metazion.jgd.AppLogin; import com.metazion.jgd.info.ServerInfo; import com.metazion.jgd.info.ServerInfoManager; import com.metazion.jgd.protocal.Message; import com.metazion.jgd.protocal.gl.ServerExitSL; import com.metazion.jgd.util.JgdLogger; import com.metazion.object.Server; public class RAServerExitSL extends RequestAction { private ServerExitSL req = null; @Override public void setRequest(Message msg) { req = (ServerExitSL) msg; } @Override public void execute() { final int serverId = req.serverId; JgdLogger.getLogger().info("Server exit sl: serverId[{}]", serverId); ServerInfo serverInfo = ServerInfoManager.getInstance().getServerInfo(serverId); if (serverInfo == null) { JgdLogger.getLogger().error("Server exit sl error: no server info[{}]", serverId); return; } Server server = AppLogin.getLogicService().getServerManager().getServer(serverId); if (server == null) { JgdLogger.getLogger().warn("Server exit sl failed: no server found[{}]", serverId); return; } server.onExit(); JgdLogger.getLogger().info("Server exit sl successful: server id[{}] status[{}]", serverId, serverInfo.serverBean.status); } }