JedisSocketFactory.createSocket mora vratiti povezan socket spreman da prenosi Redis saobraćaj. U Jedis 5.2.0 aplikacija predaje tu fabriku i svoju konfiguraciju Redis klijenta ovde:

var jedis = new Jedis(socksSocketFactory, redisConfig);

socksSocketFactory implementira redis.clients.jedis.JedisSocketFactory, a redisConfig je aplikacijin JedisClientConfig. Budite spremni za povezivanje kada se konstruktor pokrene: može odmah izvršiti autentifikaciju i druga Redis podešavanja.

Pratite jedan socket od stvaranja do predaje

Za neautentifikovanu SOCKS5 rutu fabrika može stvoriti java.net.Socket sa eksplicitnim Proxy.Type.SOCKS posrednikom, a zatim se povezati na Redis host i port. Ostavite odredište nerazrešeno ako SOCKS server treba sam da razreši ime hosta.

Ograničite pokušaj povezivanja i primenite predviđeni tajmaut čitanja. Ako veza ne uspe, zatvorite taj socket i prijavite JedisConnectionException; interfejs fabrike ne deklariše provereni IOException.

Ako Redis zahteva TLS, uspostavite i proverite TLS pre vraćanja socketa. Ne može se pretpostaviti da će zasebna zastavica transformisati proizvoljan socket koji fabrika vrati. Za pool ponavljajte ovaj životni ciklus sa novim socketom pri svakom pozivu fabrike, uključujući zamenske veze.

Izbor HTTP-a u globalnom ProxySelector nije alternativna implementacija ovog posla. Redis šalje RESP preko svog socketa; time ne postaje HTTP niti pregovara CONNECT.

Povezani članci