Välityspalvelimen haasteen jälkeen uudelleen yritettävä lähetys tarvitsee jälleen runkonsa. Valitse Jersey 2:n Apache-liittimelle puskuroitu entiteettikäsittely kokoonpanossa, jolla kyseinen asiakas rakennetaan:

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);

Suorita lähetys syntyneen asiakkaan kautta. Nämä tyypit tulevat Jersey client- ja Apache-connector -paketeista; käyttämättömän kokoonpanon asettaminen ei vaikuttaisi pyyntöön.

Liitin käärii puskuroidun entiteetin Apachen BufferedHttpEntity-olioon. Sen puskuroimaton virtaava entiteetti ei ole toistettava. Puskurointi antaa todennusvirralle tavut, jotka se voi lähettää uudelleen sen sijaan, että lukisi kulutetun tuottajan uudelleen.

Se ei takaa, että todennus päättyy yhden 407:n jälkeen. Jotkin menetelmät vaativat perustellusti useita vaihtoja, joten tarkastele koko neuvottelu ennen kuin pidät uutta haastetta menetettynä tilana.

Pidä rungon koko muistibudjetin rajoissa. Suuri virtaava lähetys tarvitsee kyseiselle kuormitukselle sopivan toistostrategian; puskuroinnin käyttöönotto jokaiselle pyynnölle voi vaihtaa neuvottelun epäonnistumisen muistin loppumiseen.

Aiheeseen liittyvät artikkelit