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 java.io.IOException;
import java.net.InetAddress;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.UnknownHostException;
import java.text.MessageFormat;

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

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

private final String host;
private final String urlAddress;

public PingConnectivityChecker() {
this(DEFAULT_HOST);
}

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

@Override
public boolean checkConnectivity() {
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) {
LOG.warn(MessageFormat.format("Host {0} is unreachable", host), ex);
LOG.warn(MessageFormat.format("Host {0} is unreachable", urlAddress), ex);
return false;
}

}

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

@Test
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());
}

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

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

@SuppressWarnings("all")
Expand Down

0 comments on commit 37ed28b

Please sign in to comment.