ಒಂದು ಥ್ರೆಡ್ ಪ್ರಾಕ್ಸಿ ಗುಣಲಕ್ಷಣವನ್ನು ಹೊಂದಿಸಿ, ವಿನಂತಿ ಮಾಡಿ, ಹಳೆಯ ಮೌಲ್ಯವನ್ನು ಮರುಸ್ಥಾಪಿಸುತ್ತದೆ. ಇನ್ನೊಂದು ಥ್ರೆಡ್ ಬೇರೆ ಪ್ರಾಕ್ಸಿಯೊಂದಿಗೆ ಅದೇ ರೀತಿ ಮಾಡುತ್ತದೆ. ಮೇಲಿನಿಂದ ಕೆಳಕ್ಕೆ ಓದಿದಾಗ ಕೋಡ್ ಅಚ್ಚುಕಟ್ಟಾಗಿ ಕಾಣುತ್ತದೆ, ಆದರೆ ಎರಡೂ ಥ್ರೆಡ್‌ಗಳು ಹಂಚಿಕೊಂಡ 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 ಪ್ರಾಕ್ಸಿ ಪಟ್ಟಿ ಅಭ್ಯರ್ಥಿ ಎಂಡ್‌ಪಾಯಿಂಟ್‌ಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ. ಅಪ್ಲಿಕೇಶನ್‌ನ ಅಗತ್ಯಗಳಿಗೆ ಅನುಗುಣವಾಗಿ ವಿನಂತಿ ಗಡುವುಗಳು ಮತ್ತು ಪ್ರಾಕ್ಸಿ ದೃಢೀಕರಣವನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ಸಂರಚಿಸಿ.

builder ನ proxy ವಿಧಾನ ಕ್ಲೈಂಟ್-ಮಟ್ಟದ ಆಯ್ಕೆಯನ್ನು ದಾಖಲಿಸುತ್ತದೆ. ಅದು ಅಸಿಂಕ್ರೋನಸ್ ಕಾರ್ಯಾಚರಣೆಗಳ ಸುತ್ತ ಸುತ್ತಿದ ಜಾಗತಿಕ ಬರವಣಿಗೆಗಳ ಸರಣಿಗಿಂತ ನೀತಿಯನ್ನು ಪರಿಶೀಲಿಸಲು ಸುಲಭಗೊಳಿಸುತ್ತದೆ.

ಜಾಗತಿಕ ಸೆಟ್ಟಿಂಗ್‌ಗಳಿಗೆ ಇನ್ನೂ ಉಪಯೋಗವಿದೆ

ಭಾಗವಹಿಸುವ ಪ್ರತಿಯೊಂದು ಕ್ಲೈಂಟ್ ಅನ್ನು ಅದನ್ನು ಅನುಸರಿಸಲು ಉದ್ದೇಶಿಸಿದಾಗ ಒಂದೇ JVM-ವ್ಯಾಪಿ ಪ್ರಾಕ್ಸಿ ನೀತಿ ಸೂಕ್ತವಾಗಿರಬಹುದು. ಆ ನೀತಿಯನ್ನು ಅಪ್ಲಿಕೇಶನ್ ಆರಂಭದಲ್ಲಿ ಹೊಂದಿಸಿ ಮತ್ತು ಯಾವ ಗ್ರಂಥಾಲಯಗಳು ಅದನ್ನು ಗೌರವಿಸುತ್ತವೆ ಎಂಬುದನ್ನು ಪರಿಶೀಲಿಸಿ.

ಜಾಗತಿಕ ಗುಣಲಕ್ಷಣಗಳನ್ನು ಪ್ರತ್ಯೇಕ ವಿನಂತಿಗಳಿಗೆ ತಾತ್ಕಾಲಿಕ ಸ್ವಿಚ್ ಆಗಿ ಬಳಸಿದಾಗ ಸಮಸ್ಯೆಗಳು ಉದ್ಭವಿಸುತ್ತವೆ. ಸರ್ವರ್‌ನಲ್ಲಿ, ನಿಮ್ಮ ಸ್ವಂತ ವಿಧಾನ ಸಿಂಕ್ರೋನಸ್ ಆಗಿ ಕಾಣುತ್ತಿದ್ದರೂ ಹಿನ್ನೆಲೆ ಕೆಲಸಗಾರರು ಮತ್ತು ಗ್ರಂಥಾಲಯ ಕರೆಗಳು ಏಕಕಾಲದಲ್ಲಿ ಚಲಿಸಬಹುದು. ಸಂಪರ್ಕವನ್ನು ಹೊಂದಿರುವ ಕ್ಲೈಂಟ್ ಅಥವಾ ಕನೆಕ್ಟರ್‌ನೊಂದಿಗೆ ರೂಟಿಂಗ್ ಸ್ಥಿತಿಯನ್ನು ಇರಿಸಿ, ಇದರಿಂದ ಇನ್ನೊಂದು ವಿನಂತಿ ಕೆಲಸದ ಮಧ್ಯದಲ್ಲಿ ಅದನ್ನು ಬದಲಿಸಲಾಗದು.

ಸಂಬಂಧಿತ ಲೇಖನಗಳು