@Override public void close() { server.close(); }
@Override public InetSocketAddress getLocalAddress() { return server.getLocalAddress(); }
@Override public Collection<Channel> getChannels() { return server.getChannels(); }
@Override public void destroy() { super.destroy(); for (String key : new ArrayList<String>(serverMap.keySet())) { ExchangeServer server = serverMap.remove(key); if (server != null) { try { if (logger.isInfoEnabled()) { logger.info("Close dubbo server: " + server.getLocalAddress()); } server.close(ConfigUtils.getServerShutdownTimeout()); } catch (Throwable t) { logger.warn(t.getMessage(), t); } } // ~ end of if ( server != null ) } // ~ end of loop serverMap } // ~ end of method destroy
@Override public Object doMonitor(Map<String, Object> params) throws Throwable { List<Map<String, Object>> result = Lists.newArrayList(); Collection<ExchangeServer> servers = DubboProtocol.getDubboProtocol().getServers(); if (servers == null || servers.size() == 0) { throw WatcherException.throwIt("no server found"); } for (ExchangeServer server : servers) { Map<String, Object> serverResult = Maps.newHashMap(); boolean isBound = server.isBound(); serverResult.put("isBound", isBound); if (isBound) { serverResult.put("clients", server.getChannels().size()); } serverResult.put("port", server.getLocalAddress().getPort()); result.add(serverResult); } return result; }
public Page handle(URL url) { List<List<String>> rows = new ArrayList<List<String>>(); Collection<ExchangeServer> servers = DubboProtocol.getDubboProtocol().getServers(); int clientCount = 0; if (servers != null && servers.size() > 0) { for (ExchangeServer s : servers) { List<String> row = new ArrayList<String>(); String address = s.getUrl().getAddress(); row.add(NetUtils.getHostName(address) + "/" + address); int clientSize = s.getExchangeChannels().size(); clientCount += clientSize; row.add("<a href=\"clients.html?port=" + s.getUrl().getPort() + "\">Clients(" + clientSize + ")</a>"); rows.add(row); } } return new Page("Servers", "Servers (" + rows.size() + ")", new String[]{"Server Address:", "Clients(" + clientCount + ")"}, rows); }
@Override public void reset(URL url) { server.reset(url); }
@Override public boolean isBound() { return server.isBound(); }
public URL getUrl() { return server.getUrl(); }
@Override public Collection<ExchangeChannel> getExchangeChannels() { return server.getExchangeChannels(); }
@Override public Channel getChannel(InetSocketAddress remoteAddress) { return server.getChannel(remoteAddress); }
@Override public ChannelHandler getChannelHandler() { return server.getChannelHandler(); }
@Override public ExchangeChannel getExchangeChannel(InetSocketAddress remoteAddress) { return server.getExchangeChannel(remoteAddress); }
public void destroy() { super.destroy(); for (String key : new ArrayList<String>(serverMap.keySet())) { ExchangeServer server = serverMap.remove(key); if (server != null) { try { if (logger.isInfoEnabled()) { logger.info("Close dubbo server: " + server.getLocalAddress()); } server.close(getServerShutdownTimeout()); } catch (Throwable t) { logger.warn(t.getMessage(), t); } } // ~ end of if ( server != null ) } // ~ end of loop serverMap } // ~ end of method destroy
@Override public Status check() { Collection<ExchangeServer> servers = DubboProtocol.getDubboProtocol().getServers(); if (servers == null || servers.isEmpty()) { return new Status(Status.Level.UNKNOWN); } Status.Level level = Status.Level.OK; StringBuilder buf = new StringBuilder(); for (ExchangeServer server : servers) { if (!server.isBound()) { level = Status.Level.ERROR; buf.setLength(0); buf.append(server.getLocalAddress()); break; } if (buf.length() > 0) { buf.append(","); } buf.append(server.getLocalAddress()); buf.append("(clients:"); buf.append(server.getChannels().size()); buf.append(")"); } return new Status(level, buf.toString()); }
public Page handle(URL url) { List<List<String>> rows = new ArrayList<List<String>>(); Collection<ExchangeServer> servers = DubboProtocol.getDubboProtocol().getServers(); int clientCount = 0; if (servers != null && servers.size() > 0) { for (ExchangeServer s : servers) { List<String> row = new ArrayList<String>(); String address = s.getUrl().getAddress(); row.add(NetUtils.getHostName(address) + "/" + address); int clientSize = s.getExchangeChannels().size(); clientCount += clientSize; row.add("<a href=\"clients.html?port=" + s.getUrl().getPort() + "\">Clients(" + clientSize + ")</a>"); rows.add(row); } } return new Page("Servers", "Servers (" + rows.size() + ")", new String[]{"Server Address:", "Clients(" + clientCount + ")"}, rows); }
public void reset(URL url) { server.reset(url); }
@Override public boolean isBound() { return server.isBound(); }
public URL getUrl() { return server.getUrl(); }
public Collection<ExchangeChannel> getExchangeChannels() { return server.getExchangeChannels(); }