RESTEASY004655: невозможно вызвать запрос: org.apache.http.NoHttpResponseException: host_url не ответилJAVA

Программисты JAVA общаются здесь
Anonymous
RESTEASY004655: невозможно вызвать запрос: org.apache.http.NoHttpResponseException: host_url не ответил

Сообщение Anonymous »

Иногда (происходит случайно, иногда после одного запроса, а иногда и после 10) мое пакетное задание завершает работу со следующим исключением:

Код: Выделить всё

javax.ws.rs.ProcessingException: RESTEASY004655: Unable to invoke request: org.apache.http.NoHttpResponseException: host_url failed to respond
at org.jboss.resteasy.client.jaxrs.engines.ApacheHttpClient4Engine.invoke(ApacheHttpClient4Engine.java:327)
at org.jboss.resteasy.client.jaxrs.internal.ClientInvocation.invoke(ClientInvocation.java:443)
at org.jboss.resteasy.client.jaxrs.internal.ClientInvocation.invoke(ClientInvocation.java:63)
at org.jboss.resteasy.client.jaxrs.internal.ClientInvocationBuilder.post(ClientInvocationBuilder.java:227)
Исключение вызывается следующим кодом:

Код: Выделить всё

public YpspResponse sendRequest(YpspRequest request) {
return webTarget
.request(MediaType.APPLICATION_XML)
.post(Entity.xml(request))
.readEntity(YpspResponse.class);
}
WebTarget инициализируется с помощью этого кода:

Код: Выделить всё

            ResteasyClientBuilder builder = new ResteasyClientBuilder()
.socketTimeout(30, TimeUnit.SECONDS)
.connectTimeout(5, TimeUnit.SECONDS)
.connectionPoolSize(500)
.keyStore(keyStore, ynetKeystorePassword.toCharArray())
.trustStore(trustStore);

if (proxyConfiguration.useProxy()){
logger.info("{}", proxyConfiguration.getHost());
builder.defaultProxy(proxyConfiguration.getHost(), proxyConfiguration.getPort());
}

return builder
.build()
.target(ynetUrl)
.register(messageBodyReader)
.register(loggingFilter)
.register((ClientRequestFilter) requestContext -> {
byte[] auth = (username + ":" + password).getBytes("UTF-8");
requestContext.getHeaders().putSingle(HttpHeaders.AUTHORIZATION, "BASIC " + Base64.getEncoder().encodeToString(auth));
requestContext.getHeaders().putSingle("version", "1.1");
});

Я использую RESTEASY: 3.12.1.FINAL
Похоже, что ResteasyClient пытается использовать уже используемое соединение вместо новый. Как я могу решить эту проблему?

Подробнее здесь: https://stackoverflow.com/questions/714 ... seexceptio

Вернуться в «JAVA»