HttpClient ã§ã¦ã§ã¤ãä»ããªãã©ã¤ãè¡ãã
HttpClientã§ãªãã©ã¤å¦çãè¡ãå ´åé常ã¯ããorg.apache.commons.httpclient.DefaultHttpMethodRetryHandlerãã使ãããã®DefaultHttpMethodRetryHandlerã¯ãªã¯ã¨ã¹ãä¸ã«IOExceptionãçºçããå ´åã«ããªãã©ã¤å¯¾å¿ããããã
ãã®ã¨ããDefaultHttpMethodRetryHandlerã§ã¯å¤±æãããç´ãã«ã¢ã¯ã»ã¹ãè¡ãããã®ã§çãééã§ã¢ã¯ã»ã¹ãããã¨ã«ãªããè² è·ã忣ãããããã«ãå¾
ã¡ç¶æ
ãä½ãã¢ã¯ã»ã¹ããå ´åã¯ä»¥ä¸ã®ããã«ããã¨ããã
HttpClient client = new HttpClient(); //ãªã¯ã¨ã¹ãã®ä½æ(5åãªãã©ã¤) GetMethod method = new GetMethod(url); DefaultHttpMethodRetryHandler handler = null; handler = new DefaultHttpMethodRetryHandler(5, false) { @Override public boolean retryMethod(HttpMethod method, IOException exception, int executionCount) { boolean retry = super.retryMethod(method, exception, executionCount); if (retry) { try { Thread.sleep(500); } catch (InterruptedException e) { } } return retry; } }; method.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, handler); try { client.executeMethod(method); } catch (HttpException e1) { log.warn("HttpException", e1); return; } catch (IOException e1) { log.warn("IOException", e1); return; }
retryMethodããªã¼ãã©ã¤ããã¦ã¦ã§ã¤ããæãã°åé¡è§£æ±ºï¼