Emmagatzemar en memòria intermèdia una pujada de Jersey 2 per a reintents d'autenticació del proxy
Feu repetible l'entitat de sol·licitud de Jersey 2 amb connector Apache quan la negociació d'autenticació ha de reenviar la pujada.
Una pujada reintentada després d'un repte del proxy torna a necessitar el seu cos. Per al connector Apache de Jersey 2, seleccioneu el processament d'entitat emmagatzemada a la configuració amb què es construeix aquest client:
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);Feu la pujada amb el client resultant. Aquests tipus provenen dels paquets Jersey client i Apache-connector; definir una configuració no utilitzada no afectaria la sol·licitud.
El connector embolcalla una entitat emmagatzemada a BufferedHttpEntity d'Apache. La seva entitat de flux no emmagatzemada no és repetible. L'emmagatzematge dona al flux d'autenticació bytes que pot reenviar en lloc de rellegir un productor ja consumit.
No garanteix que l'autenticació acabi després d'un 407. Alguns esquemes requereixen legítimament diverses intercanvis, així que reviseu tota la negociació abans de tractar un altre repte com a estat perdut.
Mantingueu la mida del cos dins del pressupost de memòria. Una pujada de flux gran necessita una estratègia de repetició adequada a aquesta càrrega; activar l'emmagatzematge per a cada sol·licitud pot canviar un fall de negociació per esgotament de memòria.