List of usage examples for org.apache.http.conn ConnectTimeoutException getLocalizedMessage
public String getLocalizedMessage()
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()); } } }