Pergunta

Estamos obtendo alguns resultados inesperados aleatoriamente de alguns servidores ao tentar abrir um inspumante a partir de um httpurlConnection. Parece que esses servidores aceitariam a conexão e responderiam com um cabeçalho "permanecer" que manterá o soquete aberto, mas não permitirá que os dados sejam enviados de volta ao fluxo.

Esse cenário tenta um rastreador multithread um pouco "complicado", porque se alguma conexão ficar presa, o segmento funcionando nunca retornaria ... negando a conclusão de seu pool que deriva no controlador pensando que alguns tópicos são ainda trabalhando.

Existe alguma maneira de ler o cabeçalho da resposta da conexão para identificar essa resposta "permanecer" e evitar tentar abrir o fluxo?

Foi útil?

Solução

Não tenho certeza do que estou perdendo aqui, mas parece que você simplesmente precisa GETHEADERFIELD ()?

Outras dicas

Você tentou definir "Read Time Out", além de "Connect Time Out"?

Ver http://java.sun.com/j2se/1.5.0/docs/api/java/net/urlconnection.html#SetReadTimeout%28INT%29

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top