Kaj mora tovarna vtičnic SOCKS za Jedis vrniti
Jedis 5.2.0 pričakuje povezano vtičnico, pripravljeno za Redis, vključno s TLS, kadar je potreben; samo izbira posrednika te povezave ne zagotovi.
JedisSocketFactory.createSocket mora vrniti povezano vtičnico, pripravljeno za prenašanje prometa Redis. V Jedis 5.2.0 aplikacija tovarno in svojo konfiguracijo odjemalca Redis poda tukaj:
var jedis = new Jedis(socksSocketFactory, redisConfig);socksSocketFactory izvaja redis.clients.jedis.JedisSocketFactory, redisConfig pa je JedisClientConfig aplikacije. Bodite pripravljeni na povezavo že ob zagonu konstruktorja: ta lahko takoj izvede preverjanje pristnosti in druge nastavitve Redis.
Sledite eni vtičnici od ustvarjanja do predaje
Za pot SOCKS5 brez preverjanja pristnosti lahko tovarna ustvari java.net.Socket z izrecnim posrednikom Proxy.Type.SOCKS in se nato poveže z gostiteljem in vrati Redis. Pustite cilj nerazrešen če mora strežnik SOCKS razrešiti ime gostitelja.
Omejite poskus povezave in uporabite predvideno časovno omejitev branja. Če povezava ne uspe, zaprite to vtičnico in sporočite JedisConnectionException; vmesnik tovarne ne razglasi preverjene IOException.
Če Redis zahteva TLS, pred vrnitvijo vtičnice vzpostavite in preverite TLS. Ni mogoče domnevati, da bo ločena zastavica preoblikovala poljubno vtičnico, ki jo vrne tovarna. Za nabor ponavljajte ta življenjski cikel z novo vtičnico ob vsakem klicu tovarne, vključno z nadomestnimi povezavami.
Izbira HTTP v globalnem ProxySelector ni alternativna izvedba tega dela. Redis pošilja RESP po svoji vtičnici; s tem ne postane HTTP in se ne pogaja o CONNECT.