JedisSocketFactory.createSocket dapat magbalik ng konektadong socket na handa nang magdala ng trapiko ng Redis. Sa Jedis 5.2.0, ibinibigay ng aplikasyon ang factory na iyon at ang konfigurasyon ng Redis client nito dito:

var jedis = new Jedis(socksSocketFactory, redisConfig);

socksSocketFactory nagpapatupad ng redis.clients.jedis.JedisSocketFactory, at ang redisConfig ay ang JedisClientConfig ng aplikasyon. Maging handa na kumonekta kapag tumakbo ang constructor: maaari nitong agad na gawin ang pagpapatotoo at iba pang setup ng Redis.

Subaybayan ang isang socket mula sa paggawa hanggang sa paghahatid

Para sa rutang SOCKS5 na walang pagpapatotoo, makakagawa ang factory ng java.net.Socket na may tahasang tagapamagitan na Proxy.Type.SOCKS, pagkatapos ay kumonekta sa host at port ng Redis. Hayaang hindi malutas ang destinasyon kung ang server ng SOCKS ang dapat maglutas ng pangalan ng host.

Limitahan ang pagtatangkang kumonekta at ilapat ang inilaan na timeout sa pagbasa. Kung mabigo ang koneksyon, isara ang socket na iyon at iulat ang JedisConnectionException; hindi nagpapahayag ang interface ng factory ng nasuri na IOException.

Kung kailangan ng Redis ang TLS, itatag at i-verify ang TLS bago ibalik ang socket. Hindi maaaring ipagpalagay na babaguhin ng hiwalay na flag ang anumang socket na ibinalik ng factory. Para sa pool, ulitin ang lifecycle na ito gamit ang bagong socket sa bawat tawag sa factory, kasama ang mga kapalit na koneksyon.

Ang pagpili ng HTTP sa isang pandaigdigang ProxySelector ay hindi alternatibong pagpapatupad ng gawaing ito. Nagpapadala ang Redis ng RESP sa sarili nitong socket; hindi ito nagiging HTTP dahil doon at hindi ito nakikipag-usap ng CONNECT.

Kaugnay na mga artikulo