Aikakatkaisu CONNECTin aikana jumiutuvalle Apache HttpClient 5 -välityspalvelimelle
Aseta yhteyshallinnan socket-I/O-aikakatkaisu tunnelin muodostusta varten erillisen TCP-yhteysaikakatkaisun rinnalle.
Välityspalvelin hyväksyi TCP:n mutta ei koskaan saattanut CONNECT-vastausta loppuun. Verkkosivuston vastaus ei ole vielä alkanut; vain tuohon myöhempään vastaukseen kohdistuva aikakatkaisu voi jättää tämän muodostuksen odottamaan loputtomiin.
Apache HttpClient 5.3.1:ssä aseta yhteyshallinnan oletukset:
var connection = ConnectionConfig.custom()
.setConnectTimeout(Timeout.ofSeconds(5))
.setSocketTimeout(Timeout.ofSeconds(10))
.build();
var manager = PoolingHttpClientConnectionManagerBuilder.create()
.setDefaultConnectionConfig(connection)
.build();
var client = HttpClients.custom()
.setConnectionManager(manager)
.setProxy(new HttpHost("http", "proxy.example", 8080))
.build();Käytä Apache HttpComponents 5 -luokkia org.apache.hc, ja Timeout on core5-apupaketissa. Pidä asiakas työtään varten ja sulje se. Eristetyssä julkisessa HTTP-testissä ehdokas HTTP-välityspalvelinluettelosta tarjoaa päätepisteen; pidä kohde vakaana aikakatkaisuja verratessasi.
| Raja | Katettu odotus |
|---|---|
| Yhteysaikakatkaisu | Yhteyden muodostus |
| Socket-aikakatkaisu | Oletus-I/O-toimettomuus, mukaan lukien CONNECT-vaihto |
| Poolista hankinta / sovelluksen vastaus | Muut erikseen määritetyt vaiheet |
CONNECTin jälkeen TLS voi tarvita oman muodostusrajansa HttpClient 5:n TLS-asetusten kautta. Eruta myös toimettomuus kokonaisaikarajasta: katkonaiset tavut tai toistuvat todennusvaihdot voivat pidentää kokonaisaikaa. Käytä sovelluksen tukemaa aikaraja- tai peruutuskäytäntöä yhteen budjettiin koko toiminnolle.