Mit kell visszaadnia egy Jedis SOCKS socketgyárnak
A Jedis 5.2.0 csatlakoztatott, Redis-kész socketet vár, szükség esetén TLS-sel együtt; a proxy puszta kiválasztása nem adja meg ezt a kapcsolatot.
JedisSocketFactory.createSocket csatlakoztatott, Redis-forgalom továbbítására kész socketet kell visszaadnia. A Jedis 5.2.0-ban az alkalmazás ezt a gyárat és a Redis-kliens konfigurációját itt adja át:
var jedis = new Jedis(socksSocketFactory, redisConfig);socksSocketFactory megvalósítja a redis.clients.jedis.JedisSocketFactory interfészt, a redisConfig pedig az alkalmazás JedisClientConfig objektuma. Legyen kész a kapcsolódásra a konstruktor futásakor: az azonnal elvégezheti a hitelesítést és más Redis-beállításokat.
Kövessen végig egy socketet a létrehozástól az átadásig
Hitelesítés nélküli SOCKS5-útvonal esetén a gyár létrehozhat egy java.net.Socket példányt explicit Proxy.Type.SOCKS közvetítővel, majd csatlakozhat a Redis hoszthoz és porthoz. Hagyja a célt feloldatlanul ha a SOCKS-kiszolgálónak kell feloldania a hosztnevet.
Korlátozza a csatlakozási kísérletet, és alkalmazza a szándékolt olvasási időkorlátot. Ha a kapcsolat meghiúsul, zárja be azt a socketet, és jelentsen JedisConnectionException kivételt; a gyár interfésze nem deklarál ellenőrzött IOException kivételt.
Ha a Redis TLS-t igényel, a socket visszaadása előtt hozza létre és ellenőrizze a TLS-t. Nem feltételezhető, hogy egy külön jelző átalakítja a gyár által visszaadott tetszőleges socketet. Készlet esetén ismételje meg ezt az életciklust minden gyárhíváskor új sockettel, a cserekapcsolatokkal együtt.
A HTTP kiválasztása egy globális ProxySelector objektumban nem alternatív megvalósítása ennek a munkának. A Redis RESP-t küld a socketén; ettől nem válik HTTP-vé, és nem tárgyal CONNECT-et.