Wat eng Jedis SOCKS-Socketfabrik zeréckginn muss
Jedis 5.2.0 erwaart en ugeschlossene Socket, dee fir Redis prett ass, inklusiv TLS wann néideg; just eng Proxysauswahl liwwert dës Verbindung net.
JedisSocketFactory.createSocket muss en ugeschlossene Socket zeréckginn, dee prett ass fir Redis-Traffic ze droen. An Jedis 5.2.0 gëtt d’Applikatioun dës Fabrik an hir Redis-Client-Konfiguratioun hei:
var jedis = new Jedis(socksSocketFactory, redisConfig);socksSocketFactory implementéiert redis.clients.jedis.JedisSocketFactory, an redisConfig ass de JedisClientConfig vun der Applikatioun. Sidd prett fir ze verbannen, wann de Konstruktor leeft: en kann d’Authentifizéierung an aner Redis-Astellungen direkt ausféieren.
Verfollegt een Socket vun der Erstellung bis zur Iwwergabe
Fir eng net-authentifizéiert SOCKS5-Route kann d’Fabrik en java.net.Socket mat engem explizitten Proxy.Type.SOCKS-Vermëttler erstellen an duerno mam Redis-Host a Port verbannen. Loosst d’Destinatioun ongeléist wann den SOCKS-Server den Hostnumm soll opléisen.
Begrenzt de Verbindungsversuch an applizéiert de geplangten Lies-Timeout. Wann d’Verbindung feelt, schléisst dëse Socket a mellt JedisConnectionException; d’Fabriksinterface deklaréiert keng gepréift IOException.
Wann Redis TLS verlaangt, baut an iwwerpréift TLS ier den Socket zeréckgëtt. Et kann net ugeholl ginn, datt eng separat Fändel e beliebegen Socket, deen d’Fabrik zeréckgëtt, ëmwandelt. Fir e Pool widderhielt dëse Liewenszyklus mat engem neie Socket bei all Fabriksopruff, inklusiv Ersatzverbindungen.
Eng HTTP-Auswiel an engem globale ProxySelector ass keng alternativ Implementéierung vun dëser Aarbecht. Redis schéckt RESP iwwer säi Socket; et gëtt doduerch net HTTP a verhandelt net CONNECT.