ஒரே நேர Java கோரிக்கைகள் தவறான proxy அமைப்புகளைப் பகிரலாம்
பகிரப்பட்ட JVM proxy அமைப்புகளை மாற்றாமல் ஒரே நேர Java கோரிக்கைகளை அவற்றின் நோக்கமான வழிகளில் வைத்திருங்கள்.
ஒரு thread ஒரு proxy பண்பை அமைத்து, ஒரு கோரிக்கையைச் செய்து, பழைய மதிப்பை மீட்டெடுக்கிறது. மற்றொரு thread வேறு proxy-யுடன் அதையே செய்கிறது. மேலிருந்து கீழாகப் படிக்கும்போது குறியீடு ஒழுங்காகத் தெரிகிறது, ஆனால் இரண்டு thread-களும் பகிரப்பட்ட JVM நிலையை மாற்றுகின்றன.
System.setProperty() செயல்முறைக்கான கணினி பண்பை மாற்றுகிறது. அது தன்னை அழைத்த thread-க்கு ஒரு வழியை இணைக்கவில்லை. ஒரே நேர கோரிக்கை வேறொருவரின் வேலைக்காக எழுதப்பட்ட மதிப்பைக் காணலாம், மேலும் ஏற்கனவே உள்ள client தனது சொந்த உள்ளமைவை ஏற்கனவே பிடித்திருக்கலாம்.
வழியை client-இன் பகுதியாக்குங்கள்
Java-வின் HTTP client-க்கு, வேண்டுமென்றே தேர்ந்தெடுக்கும் proxy தேர்வுகள் கொண்ட client-களை உருவாக்குங்கள். பணிச்சுமைகளுக்கு வெவ்வேறு வழிப்பாதைக் கொள்கைகள் தேவைப்படும்போது தனி client-களை வைத்திருங்கள்:
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 பட்டியல் வேட்பாளர் முனைகளை வழங்குகிறது. கோரிக்கை காலக்கெடு மற்றும் proxy அங்கீகாரம் ஆகியவற்றை பயன்பாட்டின் தேவைகளுக்கேற்ப தனித்தனியாக அமைக்கவும்.
builder-இன் proxy முறை client நிலைத் தேர்வைப் பதிவு செய்கிறது. அது ஒத்திசைவற்ற செயல்பாடுகளைச் சுற்றியுள்ள உலகளாவிய எழுத்துகளின் வரிசையை விட கொள்கையை ஆய்வு செய்ய எளிதாக்குகிறது.
உலகளாவிய அமைப்புகள் இன்னும் பயனுள்ளவை
பங்கேற்கும் ஒவ்வொரு client-ம் அதைப் பின்பற்ற வேண்டும் எனக் கருதப்படும்போது முழு JVM-க்கும் ஒரே proxy கொள்கை பொருத்தமாக இருக்கலாம். அந்தக் கொள்கையை பயன்பாடு தொடங்கும்போது அமைத்து, எந்த நூலகங்கள் அதை மதிக்கின்றன என்பதைச் சரிபார்க்கவும்.
உலகளாவிய பண்புகள் தனிப்பட்ட கோரிக்கைகளுக்கான தற்காலிக சுவிட்சாகப் பயன்படுத்தப்படும்போது சிக்கல்கள் எழுகின்றன. சேவையகத்தில், உங்கள் முறை ஒத்திசைவானதாகத் தோன்றினாலும் பின்னணிப் பணியாளர்களும் நூலக அழைப்புகளும் ஒரே நேரத்தில் இயங்கலாம். இணைப்பைச் சொந்தமாகக் கொண்ட client அல்லது connector-இடம் வழிப்பாதை நிலையை வைத்திருங்கள், அதனால் மற்றொரு கோரிக்கை வேலையின் நடுவில் அதை மாற்ற முடியாது.