Käytä OkHttp-resursseja uudelleen valitessasi eri välityspalvelinta
Valitse välityspalvelimella määritetty OkHttp-asiakas ennen kutsun luomista ja ymmärrä, mitä newBuilder jakaa.
OkHttp-pyynnössä ei ole yleistä muutettavaa välityspalvelinkenttää. Valitse asiakas, jolla on aiottu reitti, ennen sen kutsun luomista.
Kun muun määrityksen pitäisi pysyä jaettuna, johda reititetty asiakas olemassa olevasta asiakkaasta:
OkHttpClient routed = baseClient.newBuilder()
.proxy(new Proxy(Proxy.Type.HTTP,
new InetSocketAddress("203.0.113.10", 8080)))
.build();Päätepiste on vain havainnollistava. Julkiset HTTP-päätepisteet HTTP-välityspalvelinluettelosta voivat täyttää tämän socket-osoitteen sallitulle julkisen palvelun reitille edellyttäen, että perusasiakkaan käytäntö ei toimita välityspalvelimen tunnuksia uudelle päätepisteelle. OkHttp dokumentoi, että newBuilder jakaa yhteyspoolin ja säikeiden resurssit alkuperäisen asiakkaan kanssa. Tämä ei tarkoita, että yhden välityspalvelimen kautta muodostettu socket voitaisiin nimetä uudelleen toiseksi reitiksi. Yhteyden kelpoisuus riippuu edelleen reitin ja osoitteen määrityksestä.
Toistuvaa työtä varten pidä rajoitettu joukko asiakkaita avaimina todella tarvitsemasi reitityskäytännön mukaan. Vältä rajoittamatonta karttaa, jonka avaimet sisältävät kaikki koskaan havaitut tilapäiset tilit tai välityspalvelinmuunnelmat.
Resurssien jakaminen vaikuttaa myös sammuttamiseen. Jaetun välimuistin sulkeminen tai jaetun lähettäjän sammuttaminen voi vaikuttaa muihin näitä resursseja käyttäviin johdettuihin asiakkaisiin. Anna resurssien omistukselle selkeä sovellustason elinikä sen sijaan, että kohtelisit jokaista johdettua asiakasta eristettynä verkkopinona.
Sisällytä lopuksi valitun välityspalvelimen identiteetti kutsun omiin metatietoihin. Globaali ”viimeksi valittu välityspalvelin” -muuttuja ei pysty tunnistamaan useiden samanaikaisten pyyntöjen reittiä.