Ein þráður stillir proxy-eiginleika, sendir beiðni og endurheimtir gamla gildið. Annar þráður gerir það sama með öðru proxyi. Kóðinn lítur snyrtilega út þegar hann er lesinn ofan frá og niður, en báðir þræðirnir eru að breyta sameiginlegu JVM-ástandi.

System.setProperty() breytir kerfiseiginleika fyrir ferlið. Það tengir ekki leið við þráðinn sem kallaði á það. Samhliða beiðni getur séð gildi sem skrifað var fyrir vinnu einhvers annars, og núverandi biðlari kann þegar að hafa fangað eigin stillingar.

Gerðu leiðina að hluta biðlarans

Fyrir HTTP-biðlara Java skaltu búa til biðlara með viljandi proxy-valurum. Haltu biðlurum aðskildum þegar vinnuálag krefst mismunandi leiðarstefnu:

HttpClient client = HttpClient.newBuilder()
    .proxy(ProxySelector.of(
        new InetSocketAddress("203.0.113.10", 8080)))
    .connectTimeout(Duration.ofSeconds(5))
    .build();

Innflutningarnir eru java.net, java.net.http og java.time. Vistfangið er dæmigert; fyrir leyfðar prófanir á opinberum leiðum býður HTTP-proxylistinn upp á mögulega endapunkta. Stilltu beiðnifresti og proxy-auðkenningu sérstaklega eftir þörfum forritsins.

Proxy-aðferð byggingarinnar skráir val á biðlarastigi. Það gerir stefnuna auðveldari í skoðun en röð alheimsskrifa sem vafin er utan um ósamstilltar aðgerðir.

Alheimsstillingar hafa enn notkun

Ein proxy-stefna fyrir allt JVM getur verið viðeigandi þegar öllum þátttakandi biðlurum er ætlað að fylgja henni. Stilltu þá stefnu við ræsingu forritsins og staðfestu hvaða söfn virða hana.

Vandamál koma upp þegar alheimseiginleikar eru notaðir sem tímabundinn rofi fyrir einstakar beiðnir. Í þjóni geta bakgrunnsstarfsmenn og söfnaköll keyrt samhliða jafnvel þótt þín eigin aðferð virðist samstillt. Haltu leiðarstöðunni hjá biðlaranum eða tenginu sem á sambandið, svo önnur beiðni geti ekki breytt henni í miðri vinnunni.

Tengdir greinar