JedisSocketFactory.createSocket musí vracať pripojený socket pripravený prenášať prevádzku Redis. V Jedis 5.2.0 aplikácia odovzdáva túto továreň a svoju konfiguráciu klienta Redis tu:

var jedis = new Jedis(socksSocketFactory, redisConfig);

socksSocketFactory implementuje redis.clients.jedis.JedisSocketFactory a redisConfig je JedisClientConfig aplikácie. Buďte pripravení na spojenie už pri spustení konštruktora: môže okamžite vykonať autentifikáciu a ďalšie nastavenia Redis.

Sledujte jeden socket od vytvorenia po odovzdanie

Pre neautentizovanú trasu SOCKS5 môže továreň vytvoriť java.net.Socket s explicitným prostredníkom Proxy.Type.SOCKS a potom sa pripojiť k hostiteľovi a portu Redis. Nechajte cieľ nevyriešený ak má názov hostiteľa vyriešiť server SOCKS.

Obmedzte pokus o pripojenie a použite zamýšľaný časový limit čítania. Ak sa spojenie nepodarí, zatvorte tento socket a nahláste JedisConnectionException; rozhranie továrne nedeklaruje kontrolovanú IOException.

Ak Redis vyžaduje TLS, nadviažte a overte TLS pred vrátením socketu. Nemožno predpokladať, že samostatný príznak premení ľubovoľný socket vrátený továrňou. Pri poole tento životný cyklus opakujte s novým socketom pri každom volaní továrne, vrátane náhradných spojení.

Voľba HTTP v globálnom ProxySelector nie je alternatívnou implementáciou tejto práce. Redis posiela RESP cez svoj socket; tým sa nestáva HTTP ani nevyjednáva CONNECT.

Súvisiace články