JedisSocketFactory.createSocket mora vratiti povezan socket spreman da prenosi Redis saobraćaj. U Jedis 5.2.0 aplikacija daje tu fabriku 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 kada se konstruktor pokrene: on može odmah izvršiti autentifikaciju i druga Redis podešavanja.

Pratite jedan socket od stvaranja do predaje

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

Ograničite pokušaj povezivanja i primijenite predviđeni timeout čitanja. Ako veza ne uspije, zatvorite taj socket i prijavite JedisConnectionException; interfejs fabrike ne deklariše provjereni IOException.

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

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

Povezani članci