Proksi autentifikasiyası təkrar cəhdləri üçün Jersey 2 yükləməsini buferləmək
Autentifikasiya danışıqları yükləməni yenidən göndərməli olduqda Jersey 2 Apache-connector sorğu obyektini təkrarlana bilən edin.
Proksinin meydan oxumasından sonra təkrarlanan yükləmə öz gövdəsini yenidən istəyir. Jersey 2-nin Apache connector-u üçün həmin müştərini qurmaqda istifadə olunan konfiqurasiyada buferlənmiş obyekt emalını seçin:
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);Yükləməni yaranan müştəri vasitəsilə həyata keçirin. Bu tiplər Jersey client və Apache-connector paketlərindən gəlir; istifadə olunmayan konfiqurasiyanın təyin edilməsi sorğuya təsir etməzdi.
Connector buferlənmiş obyekti Apache-nin BufferedHttpEntity obyektinə sarır. Onun buferlənməmiş axın obyekti təkrarlana bilməz. Buferləmə autentifikasiya axınına sərf edilmiş istehsalçını yenidən oxumaq əvəzinə yenidən göndərə biləcəyi baytlar verir.
Bu, autentifikasiyanın bir 407-dən sonra bitdiyinə zəmanət vermir. Bəzi sxemlər qanuni olaraq bir neçə mübadilə tələb edir, ona görə başqa bir çağırışı itirilmiş vəziyyət kimi qəbul etməzdən əvvəl bütün danışıqları yoxlayın.
Gövdə ölçüsünü yaddaş büdcəsi daxilində saxlayın. Böyük axın yükləməsi həmin iş yükünə uyğun təkrar oynatma strategiyası tələb edir; hər sorğu üçün buferləməni aktivləşdirmək danışıqlar uğursuzluğunu yaddaş tükənməsi ilə dəyişə bilər.