public Socket createSocket(StarterNode host, int port) throws IOException { if(!isStarted()) return null; Resolver r = host.find(Resolver.class); if(r == null || !r.isStarted()) return null; Socket s = getSocket(); s.connect(new InetSocketAddress(r.getInetAddress(), port), getTimeout()); return s; }
@Override public boolean startConnection() { boolean started = false; if(getResolver().isStarted()) { try { DriverManager.setLoginTimeout(getTimeout()); con = DriverManager.getConnection(url, user, passwd); started = true; } catch (SQLException e) { log(Level.ERROR, e, "Sql error for %s: %s", url, e); } } return started; }
@Override public boolean start() { if(!getResolver().isStarted()) return false; boolean started = startConnection(); if(started) { uptime = setUptime(); log(Level.DEBUG, "Uptime for %s = %ds", this, uptime); } return started; }
@Override public Map<String, Number> getNewSampleValues() { Resolver resolv = find(Resolver.class); if(!resolv.isStarted()) return null; try { TimeInfo ti = client.getTime(resolv.getInetAddress(), port); ti.computeDetails(); NtpV3Packet pkct = ti.getMessage(); Map<String, Number> retValues = new HashMap<String, Number>(4); retValues.put("RootDelay", pkct.getRootDelayInMillisDouble()); retValues.put("RootDispersion", pkct.getRootDispersionInMillisDouble()); retValues.put("Offset", ti.getOffset()); retValues.put("Delay", ti.getDelay()); return retValues; } catch (IOException e) { log(Level.ERROR, e, "NTP IO exception %s", e); } return null; }
@Override public boolean startConnection() { Resolver resolver = getLevel().find(Resolver.class, starterKey); if(resolver == null || !resolver.isStarted()) { return false;
@Override public boolean startConnection() { Resolver resolver = getLevel().find(Resolver.class); if(!resolver.isStarted()) return false;
@Test public void testStart() throws Exception { MockHttpServer server = new MockHttpServer(false); server.addResourceHandler(staticFiles); server.start(); HttpClientStarter cnx = new HttpClientStarter(); HostStarter localhost = addConnection(cnx); localhost.find(SSLStarter.class).doStart(); localhost.find(Resolver.class).doStart(); logger.debug("resolver started for localhost:" + localhost.find(Resolver.class).isStarted()); cnx.doStart(); Assert.assertTrue("Apache HttpClient failed to start", cnx.isStarted()); cnx.stop(); server.stop(); }