私はAsyncTask.THREAD_POOL_EXECUTORで共通の要求と応答を持っています。手動で再試行回数を実装しました。次に、2つのWebサービスが同時に動作していて、お互いの再試行回数を使用している場合はどうなりますか。Retrofit 2.0リトライ回数
私は、クライアントOkHttpClientでレトロフィットを使用しています。
私はAsyncTask.THREAD_POOL_EXECUTORで共通の要求と応答を持っています。手動で再試行回数を実装しました。次に、2つのWebサービスが同時に動作していて、お互いの再試行回数を使用している場合はどうなりますか。Retrofit 2.0リトライ回数
私は、クライアントOkHttpClientでレトロフィットを使用しています。
を活用するためにあなたをお勧めします。このクラスでは、再試行回数を渡します。したがって、成功または失敗の応答では、Webサービス固有の可変再試行回数にアクセスできます。並列実行の場合、相互に干渉しません。
@POST("/xyz/abc/")
void getSomeData(
@Body TypedInput body,
Callback<Response> callback);
カスタムコールバックを作成して渡し、オブジェクト/ int値を保存して、要求を一意に識別することができます。
public interface CustomOnRequestFinishedListener {
void onSuccess(Object response, Response retrofitResponse, Object data);
void onError(RetrofitError error, Object data);
}
あなたがCustomCallbackを呼び出すために、あなたが最初にリクエストにいくつかのユニークなデータを設定し、応答で同じデータを取得します。この方法では、成功/失敗のコールバック
public class CustomCallback extends CallBack
{
private final Object data;
private final CustomOnRequestFinishedListener customOnRequestFinishedListener;
public CustomCallback(CustomOnRequestFinishedListener customOnRequestFinishedListener, Object data)
{
this.data = data;
this.customOnRequestFinishedListener = customOnRequestFinishedListener;
}
@Override
public void success(Object o, Response response)
{
customOnRequestFinishedListener.onSuccess(o, response, data);
}
@Override
public void failure(RetrofitError error)
{
customOnRequestFinishedListener.onError(error, data);
}
}
を取得しますたい場所CustomOnRequestFinishedListenerを実装します。
私はあなたが同期メソッドを使用する必要があり、そのメソッド内でそのカウンタを渡して値を増やすべきだと思います。 – Gokul