Skip to content

Commit

Permalink
KAA-1470. Fix with ping connectivity checker -- use URL to check acce…
Browse files Browse the repository at this point in the history
…ss to Internet
  • Loading branch information
Kirill380 committed Oct 26, 2016
1 parent 99519f2 commit 37ed28b
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 13 deletions.
Expand Up @@ -22,33 +22,41 @@
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;


import java.io.IOException; import java.io.IOException;
import java.net.InetAddress; import java.net.HttpURLConnection;
import java.net.URL;
import java.net.UnknownHostException;
import java.text.MessageFormat; import java.text.MessageFormat;


public class PingConnectivityChecker implements ConnectivityChecker { public class PingConnectivityChecker implements ConnectivityChecker {
public static final Logger LOG = LoggerFactory //NOSONAR public static final Logger LOG = LoggerFactory.getLogger(PingConnectivityChecker.class);
.getLogger(DefaultBootstrapChannel.class); private static final String DEFAULT_HOST = "http://www.google.com";


private static final int CONNECTION_TIMEOUT_MS = 3000; private final String urlAddress;
private static final String DEFAULT_HOST = "www.google.com";

private final String host;


public PingConnectivityChecker() { public PingConnectivityChecker() {
this(DEFAULT_HOST); this(DEFAULT_HOST);
} }


public PingConnectivityChecker(String host) { public PingConnectivityChecker(String urlAddress) {
this.host = host; this.urlAddress = urlAddress;
} }


@Override @Override
public boolean checkConnectivity() { public boolean checkConnectivity() {
try { try {
return InetAddress.getByName(host).isReachable(CONNECTION_TIMEOUT_MS); final URL url = new URL(urlAddress);
final HttpURLConnection urlConnect = (HttpURLConnection) url.openConnection();
urlConnect.connect();
return true;

} catch (UnknownHostException ex) {
LOG.warn(MessageFormat.format("Host {0} is unreachable", urlAddress), ex);
return false;
} catch (IOException ex) { } catch (IOException ex) {
LOG.warn(MessageFormat.format("Host {0} is unreachable", host), ex); LOG.warn(MessageFormat.format("Host {0} is unreachable", urlAddress), ex);
return false; return false;
} }

} }

} }
Expand Up @@ -23,13 +23,13 @@ public class PingConnectivityCheckerTest {


@Test @Test
public void checkConnectivityToWrongHostTest() { public void checkConnectivityToWrongHostTest() {
PingConnectivityChecker pingConnectivityChecker = new PingConnectivityChecker("some-wrong-host=with-dashes-in-name"); PingConnectivityChecker pingConnectivityChecker = new PingConnectivityChecker("some-wrong-url=");
Assert.assertFalse(pingConnectivityChecker.checkConnectivity()); Assert.assertFalse(pingConnectivityChecker.checkConnectivity());
} }


@Test @Test
public void checkConnectivityForLocalHostTest() { public void checkConnectivityForLocalHostTest() {
PingConnectivityChecker pingConnectivityChecker = new PingConnectivityChecker("localhost"); PingConnectivityChecker pingConnectivityChecker = new PingConnectivityChecker("http://google.com");
Assert.assertTrue(pingConnectivityChecker.checkConnectivity()); Assert.assertTrue(pingConnectivityChecker.checkConnectivity());
} }
} }
Expand Up @@ -19,6 +19,7 @@
* *
* DO NOT EDIT DIRECTLY * DO NOT EDIT DIRECTLY
*/ */

package org.kaaproject.kaa.server.common.log.shared.avro.gen; package org.kaaproject.kaa.server.common.log.shared.avro.gen;


@SuppressWarnings("all") @SuppressWarnings("all")
Expand Down

0 comments on commit 37ed28b

Please sign in to comment.