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 ను చర్చించదు.