Қатар жүрген Java сұраулары қате прокси параметрлерін бөлісуі мүмкін
Қатар жүрген Java сұрауларын JVM-нің ортақ прокси параметрлерін ауыстырмай, оларға арналған маршруттарда ұстаңыз.
Бір ағын прокси қасиетін орнатады, сұрау жібереді және ескі мәнді қалпына келтіреді. Басқа ағын мұны басқа проксимен жасайды. Кодты жоғарыдан төменге оқығанда ретті көрінеді, бірақ екі ағын да JVM-нің ортақ күйін өзгертіп жатыр.
System.setProperty() процестің жүйелік қасиетін өзгертеді. Ол маршрутты оны шақырған ағынға тіркемейді. Қатар жүрген сұрау басқа біреудің жұмысы үшін жазылған мәнді көруі мүмкін, ал бар клиент өз конфигурациясын әлдеқашан түсіріп алған болуы мүмкін.
Маршрутты клиенттің бөлігі етіңіз
Java-ның HTTP клиенті үшін әдейі таңдалған прокси селекторларымен клиенттер жасаңыз. Жүктемелер әртүрлі маршруттау саясаттарын талап еткенде клиенттерді бөлек ұстаңыз:
HttpClient client = HttpClient.newBuilder()
.proxy(ProxySelector.of(
new InetSocketAddress("203.0.113.10", 8080)))
.connectTimeout(Duration.ofSeconds(5))
.build();
Импорттар: java.net, java.net.http және java.time. Мекенжай мысал ретінде берілген; рұқсат етілген жария маршрут сынақтары үшін HTTP проксилер тізімі кандидат соңғы нүктелерді ұсынады. Сұрау мерзімдері мен прокси аутентификациясын қолданба қажеттіліктеріне қарай бөлек конфигурациялаңыз.
Құрастырушының proxy әдісі клиент деңгейіндегі таңдауды жазады. Бұл саясатты асинхронды операциялардың айналасына оралған ғаламдық жазбалар тізбегінен гөрі тексеруді жеңілдетеді.
Ғаламдық параметрлердің әлі де пайдасы бар
Бүкіл JVM бойынша бір прокси саясаты, егер барлық қатысушы клиенттер оны ұстануы керек болса, орынды болуы мүмкін. Оны қолданба іске қосылғанда орнатыңыз және қай кітапханалар оны құрметтейтінін тексеріңіз.
Мәселелер ғаламдық қасиеттер жеке сұраулар үшін уақытша ауыстырып-қосқыш ретінде пайдаланылғанда туындайды. Серверде фондық жұмысшылар мен кітапхана шақырулары қатар жұмыс істеуі мүмкін, тіпті сіздің әдісіңіз синхронды болып көрінсе де. Маршруттау күйін қосылымды иеленетін клиентте немесе коннекторда ұстаңыз, сонда басқа сұрау оны жұмыстың ортасында өзгерте алмайды.