Talbiet Java konkorrenti jistgħu jaqsmu settings tal-proxy ħżiena
Ara għaliex bidla fil-proprjetà globali għal kull talba tnixxi bejn il-ħjut, u kif iżżomm il-politika tal-proxy fuq il-klijent.
Ħajt wieħed jistabbilixxi proprjetà tal-proxy, jagħmel talba u jirrestawra l-valur l-antik. Ħajt ieħor jagħmel l-istess b'proxy differenti. Il-kodiċi jidher nadif meta taqrah minn fuq għal isfel, imma ż-żewġ ħjut qed ibiddlu stat JVM kondiviż.
System.setProperty() ibiddel proprjetà tas-sistema għall-proċess. Ma jwaħħalx rotta mal-ħajt li sejjaħha. Talba konkorrenti tista' tara valur miktub għax-xogħol ta' ħaddieħor, u klijent eżistenti jista' jkun diġà qabad il-konfigurazzjoni tiegħu stess.
Agħmel ir-rotta parti mill-klijent
Għall-klijent HTTP ta' Java, oħloq klijenti b'seletturi tal-proxy maħsuba. Żomm klijenti separati meta x-xogħol jeħtieġ politiki ta' routing distinti:
HttpClient client = HttpClient.newBuilder()
.proxy(ProxySelector.of(
new InetSocketAddress("203.0.113.10", 8080)))
.connectTimeout(Duration.ofSeconds(5))
.build();L-imports huma java.net, java.net.http u java.time. L-indirizz huwa illustrattiv; għal testijiet tal-rotta pubblika permessi, il-lista tal-proxy HTTP tipprovdi endpoints kandidati. Ikkonfigura l-iskadenzi tat-talbiet u l-awtentikazzjoni tal-proxy b'mod separat skont il-ħtiġijiet tal-applikazzjoni.
Il-metodu proxy tal-builder jirreġistra għażla fil-livell tal-klijent. Dan jagħmel il-politika aktar faċli biex tiġi spezzjonata minn sekwenza ta' kitbiet globali mgeżwra madwar operazzjonijiet asinkroniċi.
Is-settings globali għad għandhom użu
Politika waħda tal-proxy għall-JVM kollu tista' tkun xierqa meta kull klijent parteċipanti huwa maħsub li jsegwiha. Issettja dik il-politika fil-bidu tal-applikazzjoni u vverifika liema libreriji jirrispettawha.
Problemi jinqalgħu meta l-proprjetajiet globali jintużaw bħala swiċċ temporanju għal talbiet individwali. F'server, ħaddiema fl-isfond u sejħiet ta' libreriji jistgħu jaħdmu b'mod konkorrenti anki jekk il-metodu tiegħek jidher sinkroniku. Żomm l-istat tar-routing mal-klijent jew mal-konnettur li jippossjedi l-konnessjoni, sabiex talba oħra ma tistax tibdlu f'nofs ix-xogħol.