List of usage examples for org.apache.http.impl.client DefaultServiceUnavailableRetryStrategy DefaultServiceUnavailableRetryStrategy
public DefaultServiceUnavailableRetryStrategy(final int maxRetries, final int retryInterval)
From source file:org.ebayopensource.scc.track.TrackerClient.java
public void start() { Runnable thread = new Runnable() { /*/*from w w w . j a v a 2s.com*/ * (non-Javadoc) * * @see java.lang.Thread#run() */ @Override public void run() { Tracker tracker = new Tracker(getUser(), getHostName(), getIp(), getOs(), System.currentTimeMillis(), getInitiator()); AutoRetryHttpClient client = new AutoRetryHttpClient( new DefaultServiceUnavailableRetryStrategy(3, 3000)); HttpPost request = createRequest(tracker); HttpHost httpHost = createHttpHost(); try { HttpResponse resp = client.execute(httpHost, request); int code = resp.getStatusLine().getStatusCode(); if (HttpResponseStatus.OK.code() == code) { InputStream is = null; try { is = resp.getEntity().getContent(); is = new BufferedInputStream(is); InputStreamReader reader = new InputStreamReader(is); JsonStreamParser parser = new JsonStreamParser(reader); while (parser.hasNext()) { JsonElement json = parser.next(); LOGGER.debug("Tracking data sent: " + json); } } finally { if (is != null) { is.close(); } } } else { LOGGER.error(ERROR_FAILED_TO_SEND); LOGGER.debug("Response code: " + code); } } catch (IOException e) { LOGGER.warn(ERROR_FAILED_TO_SEND); } } }; m_scheduledService.scheduleAtFixedRate(thread, 0, m_interval, TimeUnit.SECONDS); }