protected boolean isURLAvailable(URL url, int retryCount) throws IOException {
    """
	Pings a HTTP URL. This effectively sends a HEAD request and returns <code>true</code> if the response code is in
	the 200-399 range.
	
	@param url        The HTTP URL to be pinged.
	@param retryCount How many times to check for sonar before giving up
	@return <code>true</code> if the given HTTP URL has returned response code 200-399 on a HEAD request,
	otherwise <code>false</code>.
	@throws IOException If the sonar server is not available
    """
        boolean serviceFound = false;
        for (int i = 0; i < retryCount; i++) {
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            connection.setRequestMethod("HEAD");
            int responseCode = connection.getResponseCode();
            if (200 <= responseCode && responseCode <= 399) {
                log.debug(String.format("Got a valid response of %d from %s", responseCode, url));
                serviceFound = true;
                break;
            } else if (i + 1 < retryCount) { // only sleep if not on last iteration
                try {
                    log.debug("Sleeping while waiting for sonar to become available");
                    Thread.sleep(2000);
                } catch (InterruptedException e) {
                    // do nothing
                }
            }
        }
        return serviceFound;
    }
protected boolean isURLAvailable(URL url, int retryCount) throws IOException {
        boolean serviceFound = false;
        for (int i = 0; i < retryCount; i++) {
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            connection.setRequestMethod("HEAD");
            int responseCode = connection.getResponseCode();
            if (200 <= responseCode && responseCode <= 399) {
                log.debug(String.format("Got a valid response of %d from %s", responseCode, url));
                serviceFound = true;
                break;
            } else if (i + 1 < retryCount) { // only sleep if not on last iteration
                try {
                    log.debug("Sleeping while waiting for sonar to become available");
                    Thread.sleep(2000);
                } catch (InterruptedException e) {
                    // do nothing
                }
            }
        }
        return serviceFound;
    }
protected boolean isURLAvailable ( URL url , int retryCount ) throws IOException { boolean serviceFound = false ; for ( int i = 0 ; i < retryCount ; i ++ ) { HttpURLConnection connection = ( HttpURLConnection ) url . openConnection ( ) ; connection . setRequestMethod ( "HEAD" ) ; int responseCode = connection . getResponseCode ( ) ; if ( 200 <= responseCode && responseCode <= 399 ) { log . debug ( String . format ( "Got a valid response of %d from %s" , responseCode , url ) ) ; serviceFound = true ; break ; } else if ( i + 1 < retryCount ) { // only sleep if not on last iteration try { log . debug ( "Sleeping while waiting for sonar to become available" ) ; Thread . sleep ( 2000 ) ; } catch ( InterruptedException e ) { // do nothing } } } return serviceFound ; }
Pings a HTTP URL. This effectively sends a HEAD request and returns <code>true</code> if the response code is in
the 200-399 range.

@param url        The HTTP URL to be pinged.
@param retryCount How many times to check for sonar before giving up
@return <code>true</code> if the given HTTP URL has returned response code 200-399 on a HEAD request,
otherwise <code>false</code>.
@throws IOException If the sonar server is not available
Pings a HTTP URL . This effectively sends a HEAD request and returns <code > true< / code > if the response code is in the 200 - 399 range .