Buffra en Jersey 2-uppladdning för förnyade proxy-autentiseringsförsök
Gör en Jersey 2-förfrågningsentitet med Apache-anslutning repeterbar när autentiseringsförhandlingen behöver skicka uppladdningen igen.
En uppladdning som görs om efter en proxy-utmaning behöver sin kropp igen. För Jersey 2:s Apache-anslutning väljer du buffrad entitetsbehandling i den konfiguration som klienten byggs med:
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);Utför uppladdningen genom den resulterande klienten. Dessa typer kommer från paketen Jersey client och Apache-connector; en oanvänd konfiguration skulle inte påverka förfrågan.
Anslutningen paketerar en buffrad entitet i Apaches BufferedHttpEntity. Dess obuffrade strömningsentitet kan inte upprepas. Buffring ger autentiseringsflödet byte som det kan skicka igen i stället för att läsa en förbrukad producent på nytt.
Det garanterar inte att autentiseringen slutar efter en enda 407. Vissa scheman kräver med rätta flera utbyten, så granska hela förhandlingen innan du behandlar ännu en utmaning som förlorat tillstånd.
Håll kroppsstorleken inom minnesbudgeten. En stor strömmande uppladdning behöver en upprepningsstrategi som passar den belastningen; att slå på buffring för varje förfrågan kan byta ett förhandlingsfel mot minnesutmattning.