AsyncTask.THREAD_POOL_EXECUTOR에 대한 일반적인 요청 및 응답이 있습니다. 수동으로 재시도 횟수를 구현했습니다. 이제는 두 웹 서비스가 동시에 작동하고 서로의 재시도 횟수를 사용하면 어떻게됩니까?Retrofit 2.0 재시도 횟수
클라이언트 OkHttpClient를 사용하여 개조하고 있습니다.
AsyncTask.THREAD_POOL_EXECUTOR에 대한 일반적인 요청 및 응답이 있습니다. 수동으로 재시도 횟수를 구현했습니다. 이제는 두 웹 서비스가 동시에 작동하고 서로의 재시도 횟수를 사용하면 어떻게됩니까?Retrofit 2.0 재시도 횟수
클라이언트 OkHttpClient를 사용하여 개조하고 있습니다.
을 활용하는 것이 좋습니다 것입니다. 이 클래스에서는 재시도 횟수를 전달합니다. 따라서 응답 성공 또는 실패시 웹 서비스 관련 변수가 될 재 시도 횟수에 액세스 할 수 있습니다. 따라서 병렬 실행의 경우에는 서로 간섭하지 않습니다.
@POST("/xyz/abc/")
void getSomeData(
@Body TypedInput body,
Callback<Response> callback);
당신은 고유 요청을 식별하는 오브젝트/int 값을 생성하고 사용자 정의 콜백을 전달하고 저장할 수 있습니다. 당신이 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);
}
}
을 얻을 것이다 경우
public interface CustomOnRequestFinishedListener {
void onSuccess(Object response, Response retrofitResponse, Object data);
void onError(RetrofitError error, Object data);
}
는 CustomOnRequestFinishedListener를 구현합니다.
동기화 된 메서드를 사용해야하며 그 메서드 내에서 해당 카운터를 전달하고 값을 늘려야한다고 생각합니다. – Gokul