JedisSocketFactory.createSocket mora vratiti povezan socket spreman prenositi Redis promet. U Jedis 5.2.0 aplikacija predaje tu tvornicu i svoju konfiguraciju Redis klijenta ovdje:

var jedis = new Jedis(socksSocketFactory, redisConfig);

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

Pratite jedan socket od stvaranja do predaje

Za neautentificiranu SOCKS5 rutu tvornica može stvoriti java.net.Socket s eksplicitnim Proxy.Type.SOCKS posrednikom, a zatim se spojiti na Redis host i port. Ostavite odredište nerazriješeno ako SOCKS poslužitelj treba razriješiti ime hosta.

Ograničite pokušaj povezivanja i primijenite predviđeno vrijeme čitanja. Ako veza ne uspije, zatvorite taj socket i prijavite JedisConnectionException; sučelje tvornice ne deklarira provjereni IOException.

Ako Redis zahtijeva TLS, uspostavite i provjerite TLS prije vraćanja socketa. Ne može se pretpostaviti da će zasebna zastavica preobraziti proizvoljan socket koji vrati tvornica. Za pool ponavljajte ovaj životni ciklus s novim socketom pri svakom pozivu tvornice, uključujući zamjenske veze.

Odabir 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