Otpremanje koje se ponavlja posle izazova proxyja ponovo treba svoje telo. Za Apache konektor u Jersey 2 izaberite obradu baferisanog entiteta u konfiguraciji kojom se gradi taj klijent:

ClientConfig config = new ClientConfig();
config.connectorProvider(new ApacheConnectorProvider());
config.property(ClientProperties.PROXY_URI,
                "http://proxy.example.net:8080");
config.property(ClientProperties.REQUEST_ENTITY_PROCESSING,
                RequestEntityProcessing.BUFFERED);

Izvršite otpremanje kroz dobijeni klijent. Ovi tipovi dolaze iz paketa Jersey client i Apache-connector; postavljanje nekorišćene konfiguracije ne bi uticalo na zahtev.

Konektor obavija baferisani entitet u Apacheov BufferedHttpEntity. Njegov nebaferisani streaming entitet nije ponovljiv. Baferisanje daje toku autentifikacije bajtove koje može ponovo da pošalje umesto ponovnog čitanja iskorišćenog producenta.

To ne garantuje da se autentifikacija završava posle jednog 407. Neke šeme zakonito zahtevaju nekoliko razmena, zato pregledajte celo pregovaranje pre nego što novi izazov tretirate kao izgubljeno stanje.

Držite veličinu tela u okviru budžeta memorije. Veliko streaming otpremanje traži strategiju ponavljanja prilagođenu tom opterećenju; uključivanje baferisanja za svaki zahtev može da zameni neuspeh pregovaranja za iscrpljivanje memorije.

Povezani članci