Example usage for org.apache.http.conn ConnectTimeoutException getLocalizedMessage

List of usage examples for org.apache.http.conn ConnectTimeoutException getLocalizedMessage

Introduction

In this page you can find the example usage for org.apache.http.conn ConnectTimeoutException getLocalizedMessage.

Prototype

public String getLocalizedMessage() 

Source Link

Document

Creates a localized description of this throwable.

Usage

From source file:com.couchbase.jdbc.core.ProtocolImpl.java

public CouchResponse doQuery(String query, Map queryParameters) throws SQLException {
    Instance endPoint = getNextEndpoint();

    // keep trying endpoints
    while (true) {

        try {/*  w ww.  j  a  v  a  2 s. c  o  m*/
            String url = endPoint.getEndpointURL(ssl);

            logger.trace("Using endpoint {}", url);
            HttpPost httpPost = new HttpPost(url);
            httpPost.setHeader("Accept", "application/json");

            logger.trace("do query {}", httpPost.toString());
            addOptions(queryParameters);

            String jsonParameters = JsonFactory.toJson(queryParameters);
            StringEntity entity = new StringEntity(jsonParameters, ContentType.APPLICATION_JSON);

            httpPost.setEntity(entity);

            CloseableHttpResponse response = httpClient.execute(httpPost);

            return handleResponse(query, response);

        } catch (ConnectTimeoutException cte) {
            logger.trace(cte.getLocalizedMessage());

            // this one failed, lets move on
            invalidateEndpoint(endPoint);
            // get the next one
            endPoint = getNextEndpoint();
            if (endPoint == null) {
                throw new SQLException("All endpoints have failed, giving up");
            }

        } catch (Exception ex) {
            logger.error("Error executing query [{}] {}", query, ex.getMessage());
            throw new SQLException("Error executing update", ex);
        }
    }
}

From source file:com.couchbase.jdbc.core.ProtocolImpl.java

public CBResultSet query(CBStatement statement, String sql) throws SQLException {

    Instance instance = getNextEndpoint();

    @SuppressWarnings("unchecked")
    Map<String, String> parameters = new HashMap();

    parameters.put(STATEMENT, sql);// w  w  w .  j a  va  2s.  c  o m
    addOptions(parameters);

    List<NameValuePair> parms = new ArrayList<NameValuePair>();

    for (String parameter : parameters.keySet()) {
        parms.add(new BasicNameValuePair(parameter, parameters.get(parameter)));
    }

    while (true) {
        String url = instance.getEndpointURL(ssl);
        logger.trace("Using endpoint {}", url);

        URI uri = null;
        try {
            uri = new URIBuilder(url).addParameters(parms).build();
        } catch (URISyntaxException ex) {
            logger.error("Invalid request {}", url);
        }

        HttpGet httpGet = new HttpGet(uri);

        httpGet.setHeader("Accept", "application/json");
        logger.trace("Get request {}", httpGet.toString());

        try {

            CloseableHttpResponse response = httpClient.execute(httpGet);
            return new CBResultSet(statement, handleResponse(sql, response));

        } catch (ConnectTimeoutException cte) {
            logger.trace(cte.getLocalizedMessage());

            // this one failed, lets move on
            invalidateEndpoint(instance);
            // get the next one
            instance = getNextEndpoint();
            if (instance == null) {
                throw new SQLException("All endpoints have failed, giving up");
            }

        } catch (IOException ex) {
            logger.error("Error executing query [{}] {}", sql, ex.getMessage());
            throw new SQLException("Error executing update", ex.getCause());
        }
    }
}