Time-out foar in Apache HttpClient 5-proxy dy't hinget by CONNECT
Stel de socket-I/O-time-out fan 'e ferbiningsbehearder yn foar tunnelopset, njonken de aparte TCP-ferbinings-time-out.
De proxy akseptearre TCP, mar makke nea it CONNECT-antwurd dien. It antwurd fan 'e webside is noch net begûn; in time-out dy't allinnich op dat lettere antwurd rjochte is, kin dizze opset ûnbeheind wachtsje litte.
Foar Apache HttpClient 5.3.1 stelst de standertwearden fan 'e ferbiningsbehearder yn:
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();Brûk de Apache HttpComponents 5-klassen ûnder org.apache.hc, mei Timeout yn it helpmiddelpakket core5. Hâld de kliïnt foar syn wurk en slút him. Foar in isolearre iepenbiere HTTP-test leveret in kandidaat út 'e HTTP-proxylist it einpunt; hâld de bestimming stevich by it fergelykjen fan time-outs.
| Grins | Behandele wachttiid |
|---|---|
| Ferbinings-time-out | Ferbiningsopbou |
| Socket-time-out | Standert I/O-ynaktiviteit, ynklusyf de CONNECT-útwikseling |
| Oanfreegje út 'e poel / applikaasje-antwurd | Oare apart konfigurearre fazen |
Nei CONNECT kin TLS syn eigen opsetgrins nedich hawwe fia de TLS-konfiguraasje fan HttpClient 5. Underskied ek ynaktiviteit fan in totale deadline: ûnderbrutsen bytes of werhelle autentikaasje-útwikselings kinne de totale tiid ferlingje. Brûk it stipe deadline- of annulearringsbelied fan 'e applikaasje foar ien budzjet foar de hiele operaasje.