JedisSocketFactory.createSocket duhet të kthejë një socket të lidhur, gati për të mbajtur trafikun Redis. Në Jedis 5.2.0 aplikacioni e furnizon atë fabrikë dhe konfigurimin e klientit Redis këtu:

var jedis = new Jedis(socksSocketFactory, redisConfig);

socksSocketFactory zbaton redis.clients.jedis.JedisSocketFactory, dhe redisConfig është JedisClientConfig i aplikacionit. Jini gati të lidheni kur ekzekutohet konstruktori: ai mund të kryejë menjëherë vërtetimin dhe cilësime të tjera të Redis.

Ndiqni një socket nga krijimi deri te dorëzimi

Për një rrugë SOCKS5 pa vërtetim, fabrika mund të krijojë një java.net.Socket me një ndërmjetës të qartë Proxy.Type.SOCKS, pastaj të lidhet me hostin dhe portin e Redis. Lini destinacionin të pazgjidhur nëse serveri SOCKS duhet të zgjidhë emrin e hostit.

Kufizoni përpjekjen për lidhje dhe zbatoni afatin e leximit të synuar. Nëse lidhja dështon, mbyllni atë socket dhe raportoni JedisConnectionException; ndërfaqja e fabrikës nuk deklaron IOException të kontrolluar.

Nëse Redis kërkon TLS, vendosni dhe verifikoni TLS përpara se ta ktheni socketin. Nuk mund të supozohet se një flamur i veçantë do të transformojë një socket arbitrar të kthyer nga fabrika. Për një grup, përsëritni këtë cikël jete me një socket të ri në çdo thirrje të fabrikës, përfshirë lidhjet zëvendësuese.

Një zgjedhje HTTP në një ProxySelector global nuk është zbatim alternativ i këtij punimi. Redis dërgon RESP përmes socketit të vet; nuk bëhet kështu HTTP dhe nuk negociaton CONNECT.

Artikuj të ngjashëm