Mitä Jedisin SOCKS-socket-tehtaan on palautettava
Jedis 5.2.0 odottaa yhdistettyä, Redis-valmista socketia, mukaan lukien TLS tarvittaessa; pelkkä välityspalvelimen valinta ei tarjoa tätä yhteyttä.
JedisSocketFactory.createSocket on palautettava yhdistetty socket, joka on valmis välittämään Redisin liikennettä. Jedis 5.2.0:ssa sovellus toimittaa kyseisen tehtaan ja Redis-asiakasasetuksensa tässä:
var jedis = new Jedis(socksSocketFactory, redisConfig);socksSocketFactory toteuttaa rajapinnan redis.clients.jedis.JedisSocketFactory, ja redisConfig on sovelluksen JedisClientConfig. Ole valmiina yhdistämään, kun konstruktori käynnistyy: se voi suorittaa todennuksen ja muut Redis-määritykset heti.
Seuraa yhtä socketia luonnista luovutukseen
Todentamattomalle SOCKS5-reitille tehdas voi luoda java.net.Socket, jossa on nimenomainen Proxy.Type.SOCKS-välittäjä, ja yhdistää sitten Redisin isäntään ja porttiin. Jätä kohde selvittämättä jos SOCKS-palvelimen on selvitettävä isäntänimi.
Rajoita yhdistämisyritystä ja käytä aiottua lukuaikakatkaisua. Jos yhteys epäonnistuu, sulje kyseinen socket ja raportoi JedisConnectionException; tehtaan rajapinta ei ilmoita tarkistettua IOException-poikkeusta.
Jos Redis vaatii TLS:n, muodosta ja varmista TLS ennen socketin palauttamista. Erillisen lipun ei voi olettaa muuntavan mitä tahansa tehtaan palauttamaa socketia. Poolia varten toista tämä elinkaari uudella socketilla joka tehdaskutsulla, myös korvaavat yhteydet mukaan lukien.
HTTP-valinta globaalissa ProxySelector-objektissa ei ole vaihtoehtoinen toteutus tälle työlle. Redis lähettää RESP:tä socketinsa yli; se ei siten muutu HTTP:ksi eikä neuvottele CONNECTia.