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 ஐப் பேச்சுவார்த்தை செய்யாது.