@Override public void start() throws Exception { int id = 0; for ( Proxy proxy : forwardProxyConfig.getProxies() ) { List<ProxyServerDescriptor> servers = proxy.getServers(); if ( servers == null || servers.size() == 0 ) { warn( "No servers defined." ); return; } info( "Starting proxy %,d in cluster %s and datacenter %s", id, proxy.getCluster(), proxy.getDatacenter() ); Membership membership = null; if ( proxy.getCluster() != null ) { membership = membershipFactory.create( proxy.getCluster() ); } HttpProxyServer proto = create( DefaultHttpProxyServer.bootstrap(), servers.get( 0 ), proxy, membership ); httpProxyServers.add( proto ); for (int i = 1; i < servers.size(); i++) { ProxyServerDescriptor proxyServerDescriptor = servers.get( i ); httpProxyServers.add( create( proto.clone(), proxyServerDescriptor, proxy, membership ) ); } ++id; } }