Kion devas redoni Jedis SOCKS-sokla fabriko
Jedis 5.2.0 atendas konektitan soklon preta por Redis, inkluzive de TLS kiam necese; nur elekto de prokurilo ne donas tiun konekton.
JedisSocketFactory.createSocket devas redoni konektitan soklon pretan porti Redis-trafikon. En Jedis 5.2.0 la aplikaĵo provizas tiun fabrikon kaj sian Redis-klientan agordon ĉi tie:
var jedis = new Jedis(socksSocketFactory, redisConfig);socksSocketFactory implementas redis.clients.jedis.JedisSocketFactory, kaj redisConfig estas la JedisClientConfig de la aplikaĵo. Estu preta konekti kiam la konstruilo ruliĝas: ĝi povas tuj fari aŭtentikigon kaj aliajn Redis-agordojn.
Sekvu unu soklon de kreado ĝis transdono
Por neaŭtentikigita SOCKS5-itinero, la fabriko povas krei java.net.Socket kun eksplicita Proxy.Type.SOCKS peranto, poste konekti al la Redis-gastiganto kaj haveno. Lasu la celon nesolvita se la SOCKS-servilo devas solvi la gastigantan nomon.
Limigu la konektoprovon kaj apliku la celitan legotempon. Se la konekto malsukcesas, fermu tiun soklon kaj raportu JedisConnectionException; la fabrika interfaco ne deklaras kontrolitan IOException.
Se Redis postulas TLS, starigu kaj kontrolu TLS antaŭ ol redoni la soklon. Oni ne povas supozi, ke aparta flago transformos arbitran soklon redonitan de la fabriko. Por aro, ripetu ĉi tiun vivciklon kun freŝa soklo ĉe ĉiu fabrika voko, inkluzive de anstataŭaj konektoj.
HTTP-elekto en tutmonda ProxySelector ne estas alternativa realigo de ĉi tiu laboro. Redis sendas RESP per sia soklo; ĝi tiel ne fariĝas HTTP nek intertraktas CONNECT.