Zer itzuli behar du Jedis-en SOCKS socket fabrika batek
Jedis 5.2.0-k Redis-eko prest dagoen socket konektatua espero du, behar denean TLS barne; proxy bat hautatzeak soilik ez du konexio hori ematen.
JedisSocketFactory.createSocket Redis trafikoa eramateko prest dagoen socket konektatua itzuli behar du. Jedis 5.2.0-n aplikazioak fabrika hori eta bere Redis bezeroaren konfigurazioa hemen ematen ditu:
var jedis = new Jedis(socksSocketFactory, redisConfig);socksSocketFactory redis.clients.jedis.JedisSocketFactory inplementatzen du, eta redisConfig aplikazioaren JedisClientConfig da. Egon prest konektatzeko konstruktorea exekutatzen denean: autentifikazioa eta beste Redis konfigurazio batzuk berehala egin ditzake.
Jarraitu socket bat sorreratik entregaraino
Autentifikaziorik gabeko SOCKS5 bide baterako, fabrikak java.net.Socket sor dezake Proxy.Type.SOCKS bitartekari esplizitu batekin, eta gero Redis ostalarira eta portura konektatu. Utzi helmuga ebatzi gabe SOCKS zerbitzariak ostalari-izena ebazteko badu.
Mugatu konexio-saioa eta aplikatu aurreikusitako irakurketa-denbora. Konexioak huts egiten badu, itxi socket hori eta jakinarazi JedisConnectionException; fabrikaren interfazeak ez du IOException egiaztaturik deklaratzen.
Redisek TLS behar badu, ezarri eta egiaztatu TLS socketa itzuli aurretik. Ezin da pentsatu bandera bereizi batek fabrikak itzultzen duen edozein socket eraldatuko duenik. Multzo baterako, errepikatu bizitza-ziklo hau socket berri batekin fabrika-dei bakoitzean, ordezkapen-konexioak barne.
HTTP hautatze bat ProxySelector global batean ez da lan honen inplementazio alternatiboa. Redisek RESP bidaltzen du bere socketaren bidez; horrek ez du HTTP bihurtzen ez eta CONNECT negoziatzen.