У меня есть приложение для Android, которое на домашнем экране выполняет несколько запросов к серверу (5-10 запросов от enqueue () зависят от логики приложения), но когда я добавляю еще один запрос, я не могу получить ответ из журнала.
Я настраиваю модификацию следующего кода:
HttpLoggingInterceptor httpLoggingInterceptor = new HttpLoggingInterceptor(new HttpLoggingInterceptor.Logger() {
@Override
public void log(String message) {
Log.d(TAG, message);
}
});
httpLoggingInterceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
httpBuilder.addInterceptor(httpLoggingInterceptor);
ConnectionSpec spec = new ConnectionSpec.Builder(ConnectionSpec.MODERN_TLS)
.tlsVersions(TlsVersion.TLS_1_2)
.cipherSuites(
CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
CipherSuite.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
CipherSuite.TLS_DHE_RSA_WITH_AES_128_GCM_SHA256)
.build();
httpBuilder
.readTimeout(DEFAULT_TIMEOUT, TimeUnit.SECONDS)
.connectTimeout(DEFAULT_TIMEOUT, TimeUnit.SECONDS)
.writeTimeout(DEFAULT_TIMEOUT, TimeUnit.SECONDS);
httpBuilder.connectionSpecs(Collections.singletonList(spec));
и я звоню по запросу:
Call<ResponseBody> call = getCallRequest();
call.enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
}
@Override
public void onFailure(Call<ResponseBody> call, Throwable t) {
// process failure case
}
});
но HttpLoggingInterceptor не регистрирует ответ на этот запрос как
<- ведение журнала ....
Это происходит не во всех запросах, иногда хорошо, поэтому я думаю, что причина в пуле соединений, но я пробую код, добавив строку: </p>
httpBuilder.connectionPool(new ConnectionPool(10, 5L, TimeUnit.MINUTES));
но это не влияет. Пожалуйста, помогите мне найти способ решить эту проблему. Большое спасибо!