JedisSocketFactory.createSocket musí vrátit připojený socket připravený přenášet provoz Redis. V Jedis 5.2.0 aplikace předává tuto továrnu a svou konfiguraci klienta Redis zde:

var jedis = new Jedis(socksSocketFactory, redisConfig);

socksSocketFactory implementuje redis.clients.jedis.JedisSocketFactory a redisConfig je JedisClientConfig aplikace. Buďte připraveni na spojení už při spuštění konstruktoru: může okamžitě provést autentizaci a další nastavení Redis.

Sledujte jeden socket od vytvoření po předání

Pro neautentizovanou trasu SOCKS5 může továrna vytvořit java.net.Socket s explicitním prostředníkem Proxy.Type.SOCKS a poté se připojit k hostiteli a portu Redis. Nechte cíl nevyřešený pokud má název hostitele přeložit server SOCKS.

Omezte pokus o připojení a použijte zamýšlený časový limit čtení. Pokud se spojení nezdaří, zavřete tento socket a nahlaste JedisConnectionException; rozhraní továrny nedeklaruje kontrolovanou IOException.

Pokud Redis vyžaduje TLS, navazte a ověřte TLS před předáním socketu. Nelze předpokládat, že samostatný příznak přemění libovolný socket vrácený továrnou. U poolu tento životní cyklus opakujte s novým socketem při každém volání továrny, včetně náhradních spojení.

Volba HTTP v globálním ProxySelector není alternativní implementací této práce. Redis posílá RESP přes svůj socket; tím se nestává HTTP ani nevyjednává CONNECT.

Související články