Jedis SOCKS ಸಾಕೆಟ್ ಫ್ಯಾಕ್ಟರಿ ಏನನ್ನು ಹಿಂತಿರುಗಿಸಬೇಕು
Jedis 5.2.0 ಸಂಪರ್ಕಿತ, Redisಗೆ ಸಿದ್ಧವಾದ ಸಾಕೆಟ್ ನಿರೀಕ್ಷಿಸುತ್ತದೆ, ಅಗತ್ಯವಿದ್ದಾಗ TLS ಸೇರಿದಂತೆ; ಕೇವಲ ಪ್ರಾಕ್ಸಿ ಆಯ್ಕೆ ಆ ಸಂಪರ್ಕವನ್ನು ನೀಡುವುದಿಲ್ಲ.
JedisSocketFactory.createSocket Redis ಸಂಚಾರವನ್ನು ಸಾಗಿಸಲು ಸಿದ್ಧವಾದ ಸಂಪರ್ಕಿತ ಸಾಕೆಟ್ ಹಿಂತಿರುಗಿಸಬೇಕು. Jedis 5.2.0 ನಲ್ಲಿ ಅಪ್ಲಿಕೇಶನ್ ಆ ಫ್ಯಾಕ್ಟರಿ ಮತ್ತು ತನ್ನ Redis ಕ್ಲೈಂಟ್ ಸಂರಚನೆಯನ್ನು ಇಲ್ಲಿ ನೀಡುತ್ತದೆ:
var jedis = new Jedis(socksSocketFactory, redisConfig);socksSocketFactory redis.clients.jedis.JedisSocketFactory ಅನ್ನು ಜಾರಿಗೊಳಿಸುತ್ತದೆ, ಮತ್ತು redisConfig ಅಪ್ಲಿಕೇಶನ್ನ JedisClientConfig ಆಗಿದೆ. ಕನ್ಸ್ಟ್ರಕ್ಟರ್ ಚಲಿಸುವಾಗ ಸಂಪರ್ಕಕ್ಕೆ ಸಿದ್ಧರಾಗಿರಿ: ಅದು ದೃಢೀಕರಣ ಮತ್ತು ಇತರ Redis ಸಂರಚನೆಗಳನ್ನು ತಕ್ಷಣ ಮಾಡಬಹುದು.
ಒಂದು ಸಾಕೆಟ್ ಅನ್ನು ರಚನೆಯಿಂದ ಹಸ್ತಾಂತರದವರೆಗೆ ಅನುಸರಿಸಿ
ದೃಢೀಕರಣವಿಲ್ಲದ SOCKS5 ಮಾರ್ಗಕ್ಕೆ, ಫ್ಯಾಕ್ಟರಿ java.net.Socket ಸ್ಪಷ್ಟ Proxy.Type.SOCKS ಮಧ್ಯವರ್ತಿಯೊಂದಿಗೆ ರಚಿಸಿ ನಂತರ Redis ಹೋಸ್ಟ್ ಮತ್ತು ಪೋರ್ಟ್ಗೆ ಸಂಪರ್ಕಿಸಬಹುದು. ಗಮ್ಯಸ್ಥಾನವನ್ನು ಬಿಡಿಸದೆ ಇರಿಸಿ SOCKS ಸರ್ವರ್ ಹೋಸ್ಟ್ಹೆಸರನ್ನು ಬಿಡಿಸಬೇಕಾದರೆ.
ಸಂಪರ್ಕ ಪ್ರಯತ್ನವನ್ನು ಮಿತಿಗೊಳಿಸಿ ಮತ್ತು ಉದ್ದೇಶಿತ ಓದುವ ಸಮಯ ಮಿತಿಯನ್ನು ಅನ್ವಯಿಸಿ. ಸಂಪರ್ಕ ವಿಫಲವಾದರೆ ಆ ಸಾಕೆಟ್ ಮುಚ್ಚಿ ಮತ್ತು JedisConnectionException ವರದಿ ಮಾಡಿ; ಫ್ಯಾಕ್ಟರಿ ಇಂಟರ್ಫೇಸ್ ಪರಿಶೀಲಿತ IOException ಘೋಷಿಸುವುದಿಲ್ಲ.
Redis ಗೆ TLS ಬೇಕಾದರೆ, ಸಾಕೆಟ್ ಹಿಂತಿರುಗಿಸುವ ಮೊದಲು TLS ಸ್ಥಾಪಿಸಿ ಮತ್ತು ಪರಿಶೀಲಿಸಿ. ಪ್ರತ್ಯೇಕ ಫ್ಲ್ಯಾಗ್ ಫ್ಯಾಕ್ಟರಿ ಹಿಂತಿರುಗಿಸುವ ಯಾವುದೇ ಸಾಕೆಟ್ ಅನ್ನು ಪರಿವರ್ತಿಸುತ್ತದೆ ಎಂದು ಊಹಿಸಲಾಗದು. ಪೂಲ್ಗಾಗಿ, ಪ್ರತಿ ಫ್ಯಾಕ್ಟರಿ ಕರೆಗೂ ಹೊಸ ಸಾಕೆಟ್ನೊಂದಿಗೆ ಈ ಜೀವನಚಕ್ರವನ್ನು ಪುನರಾವರ್ತಿಸಿ, ಬದಲಿ ಸಂಪರ್ಕಗಳೂ ಸೇರಿದಂತೆ.
ಜಾಗತಿಕ ProxySelector ನಲ್ಲಿ HTTP ಆಯ್ಕೆ ಈ ಕೆಲಸದ ಪರ್ಯಾಯ ಅನುಷ್ಠಾನವಲ್ಲ. Redis ತನ್ನ ಸಾಕೆಟ್ನಲ್ಲಿ RESP ಕಳುಹಿಸುತ್ತದೆ; ಅದರಿಂದ ಅದು HTTP ಆಗುವುದಿಲ್ಲ ಅಥವಾ CONNECT ಮಾತುಕತೆ ನಡೆಸುವುದಿಲ್ಲ.