Example usage for org.apache.http.impl.client DefaultServiceUnavailableRetryStrategy DefaultServiceUnavailableRetryStrategy

List of usage examples for org.apache.http.impl.client DefaultServiceUnavailableRetryStrategy DefaultServiceUnavailableRetryStrategy

Introduction

In this page you can find the example usage for org.apache.http.impl.client DefaultServiceUnavailableRetryStrategy DefaultServiceUnavailableRetryStrategy.

Prototype

public DefaultServiceUnavailableRetryStrategy(final int maxRetries, final int retryInterval) 

Source Link

Usage

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);
}