Commit f6dd3d4d by Kazuyuki Hida

API呼び出し失敗時にリトライするようにした。

parent 252457ed
......@@ -832,11 +832,15 @@ public class AcmsClient implements AcmsClientResponseListener {
Logger.d(TAG, "[url : %s], [param : %s]", apiUrl, param==null?"":param.toHttpParameterString());
HttpTaskWorker<HttpParameterObject> httpTaskThread = new HttpTaskWorker<HttpParameterObject>(methodName, apiUrl, param);
HttpTaskWorker<HttpParameterObject> httpTaskThread = null;
try {
httpTaskThread.start();
httpTaskThread.join(HttpRequestSender.DefaultConnectionTimeout);
long t = HttpRequestSender.DefaultConnectionTimeout * 2;
for (int i = 0; i < 3; i++, t *= 2) {
httpTaskThread = new HttpTaskWorker<HttpParameterObject>(methodName, apiUrl, param);
httpTaskThread.start();
httpTaskThread.join(t);
}
} catch (Exception e) {
Logger.e(TAG, e);
Logger.d(TAG, ExceptionDetailMessage.SERVER_IS_DISCONNECTED);
......@@ -880,12 +884,14 @@ public class AcmsClient implements AcmsClientResponseListener {
}
String apiUrl = url;
HttpMultipartTaskWorker<HttpMultipart> httpTaskThread = new HttpMultipartTaskWorker<HttpMultipart>(apiUrl, param);
HttpMultipartTaskWorker<HttpMultipart> httpTaskThread = null;
try{
httpTaskThread.start();
httpTaskThread.join(HttpRequestSender.DefaultConnectionTimeout);
long t = HttpRequestSender.DefaultConnectionTimeout * 2;
for (int i = 0; i < 3; i++, t *= 2) {
httpTaskThread = new HttpMultipartTaskWorker<HttpMultipart>(apiUrl, param);
httpTaskThread.start();
httpTaskThread.join(t);
}
} catch (Exception e) {
Logger.d(TAG, ExceptionDetailMessage.SERVER_IS_DISCONNECTED);
// サーバとの通信中、予期せぬ問題が発生しました。(1)
......
......@@ -42,10 +42,10 @@ public class HttpRequestSender {
/**
* ホストに接続するまでのタイムアウト時間をミリ秒で設定します。<br>
* デフォルトは20,000ミリ秒(20秒)です。
* デフォルトは5,000ミリ秒(5秒)です。
* @since 1.0.0
*/
public static final int DefaultConnectionTimeout = 20 * 1000;
public static final int DefaultConnectionTimeout = 5 * 1000;
/**
* 通信に利用する既定の文字セットです。UTF-8となります。
* @since 1.0.0
......
......@@ -1462,4 +1462,5 @@
<string name="msg_permission_dialog_bluetooth">Bluetooth利用権限が必要です。\nアプリ設定画面へ遷移します。</string>
<string name="dashboard">ダッシュボード</string>
<string name="failed_get_master_data">マスタデータの取得に失敗しました。画面を更新してください。</string>
</resources>
......@@ -1475,4 +1475,5 @@
<string name="msg_permission_dialog_bluetooth">Bluetooth usage authority is required. \n To transition to the application setting screen.</string>
<string name="dashboard">Dashboard</string>
<string name="failed_get_master_data">Failed to get master data. Refresh Home screen.</string>
</resources>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment