Bufrovanie nahrávania v Jersey 2 pre opakované pokusy o proxy autentifikáciu
Urobte telo požiadavky Jersey 2 s Apache konektorom opakovateľným, keď vyjednávanie autentifikácie musí nahrávanie odoslať znova.
Nahrávanie opakované po výzve proxy znova potrebuje svoje telo. Pre Apache konektor v Jersey 2 zvoľte spracovanie bufrovaného tela v konfigurácii, z ktorej sa daný klient zostavuje:
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ávanie vykonajte výsledným klientom. Tieto typy pochádzajú z balíkov Jersey client a Apache-connector; nastavenie nepoužívanej konfigurácie by požiadavku neovplyvnilo.
Konektor zabalí bufrované telo do Apache BufferedHttpEntity. Jeho nebufrované prúdové telo nie je opakovateľné. Bufrovanie dáva autentifikačnému toku bajty, ktoré môže odoslať znova, namiesto opätovného čítania spotrebovaného producenta.
Nezaručuje, že autentifikácia sa skončí po jednej 407. Niektoré schémy oprávnene vyžadujú viacero výmen, preto prejdite celé vyjednávanie, skôr než ďalšiu výzvu budete považovať za stratený stav.
Udržte veľkosť tela v rámci pamäťového rozpočtu. Veľké prúdové nahrávanie potrebuje stratégiu opakovania vhodnú pre takúto záťaž; zapnutie bufrovania pre každú požiadavku môže vymeniť zlyhanie vyjednávania za vyčerpanie pamäte.