/** * */ package com.dianping.pigeon.console.servlet; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.dianping.pigeon.log.Logger; import com.dianping.pigeon.config.ConfigManagerLoader; import com.dianping.pigeon.console.Utils; import com.dianping.pigeon.log.LoggerLoader; import com.dianping.pigeon.remoting.ServiceFactory; import com.dianping.pigeon.remoting.common.util.Constants; import com.dianping.pigeon.remoting.provider.config.ServerConfig; import com.dianping.pigeon.remoting.provider.publish.ServicePublisher; public class ServiceOnlineServlet extends HttpServlet { protected final Logger logger = LoggerLoader.getLogger(this.getClass()); /** * */ private static final long serialVersionUID = 1L; public ServiceOnlineServlet(ServerConfig serverConfig, int port) { } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String ip = Utils.getIpAddr(request); logger.info("online all services, from " + ip); if (Utils.isGranted(request)) { boolean isOnline = ServicePublisher.isAutoPublish(); String force = request.getParameter("force"); if ("true".equalsIgnoreCase(force)) { isOnline = true; } if (isOnline) { try { ServiceFactory.online(); response.getWriter().println("ok"); } catch (Throwable e) { logger.error("Error while getting online", e); response.getWriter().println("error:" + e.getMessage()); } } else { logger.warn("auto register is disabled!"); response.getWriter().println("ok"); } } else { logger.warn("Forbidden!"); response.getWriter().println("forbidden"); } } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doGet(req, resp); } }