Verificando o uso contextual do CXF HttpAsyncClient da propriedade contextual use.async.http.conduit
Estou tentando fazer uso do transporte de cliente HTTP assíncrono CXF, definindo a propriedade "use.async.http.conduit", conforme detalhado emesta discussãoe recomendado poreste artigo CXF.
Eu faço isso usando o seguinte código:
Client client = ClientProxy.getClient(wsClient);
client.getRequestContext().put("use.async.http.conduit", Boolean.TRUE);
Por acaso, minha chamada de serviço da web está atingindo o tempo limite (provavelmente devido a algum problema de rede ambiental) e a exceção do meu cliente contém (extrato):java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.read(SocketInputStream.java:129)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
at java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
at java.io.BufferedInputStream.read(BufferedInputStream.java:317)
at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:698)
at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:641)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1218)
at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:379)
at org.apache.cxf.transport.http.URLConnectionHTTPConduit$URLConnectionWrappedOutputStream.getResponseCode(URLConnectionHTTPConduit.java:260)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1513)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1486)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1305)
at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)
at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:623)
A pilha de exceções acima sugere que ojava.net.HttpURLConnection
A classe ainda está em uso e, com base na documentação do CXF, a configuração não entrou em vigor.
O que estou tentando descobrir é como garantir que o "use.async.http.conduit" tenha efeito, ou seja, existe um comportamento específico que pode ser testado ou uma configuração de log específica que eu posso habilitar no cliente que indubitavelmente me diria que o Apache HttpAsyncClient está em uso?
Muito Obrigado :)