Bufrování nahrávání v Jersey 2 pro opakované pokusy o proxy autentizaci
Učiňte tělo požadavku Jersey 2 s Apache konektorem opakovatelným, když vyjednávání autentizace musí nahrávání odeslat znovu.
Nahrávání opakované po výzvě proxy znovu potřebuje své tělo. Pro Apache konektor v Jersey 2 zvolte zpracování bufrovaného těla v konfiguraci, ze které se daný klient sestavuje:
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);Nahrávání proveďte výsledným klientem. Tyto typy pocházejí z balíčků Jersey client a Apache-connector; nastavení nepoužívané konfigurace by požadavek neovlivnilo.
Konektor zabalí bufrované tělo do Apache BufferedHttpEntity. Jeho nebufrované proudové tělo není opakovatelné. Bufrování dá autentizačnímu toku bajty, které může odeslat znovu, místo opětovného čtení spotřebovaného producenta.
Nezaručuje, že autentizace skončí po jedné 407. Některá schémata oprávněně vyžadují několik výměn, proto před pokládáním další výzvy za ztracený stav projděte celé vyjednávání.
Udržte velikost těla v rámci paměťového rozpočtu. Velké proudové nahrávání potřebuje strategii opakování vhodnou pro takovou zátěž; zapnutí bufrování pro každý požadavek může vyměnit selhání vyjednávání za vyčerpání paměti.