JedisSocketFactory.createSocket מוז צוריקקערן אַ פֿאַרבונדענע סאָקעט גרייט צו טראָגן Redis פֿאַרקער. אין Jedis 5.2.0 גיט די אַפּליקאַציע יענעם פֿאַבריק און איר Redis קליענט קאָנפֿיגוראַציע דאָ:

var jedis = new Jedis(socksSocketFactory, redisConfig);

socksSocketFactory פֿירט אויס redis.clients.jedis.JedisSocketFactory, און redisConfig איז דער אַפּליקאַציע׳ס JedisClientConfig. זײַט גרייט זיך פֿאַרבינדן ווען דער קאָנסטרוקטאָר לויפֿט: ער קען גלײַך אויספֿירן אויטענטיפֿיקאַציע און אַנדערע Redis איינשטעלונגען.

נאָכפֿאָלגט איין סאָקעט פֿון שאַפֿונג ביז איבערגעגעבן

פֿאַר אַ נישט אויטענטיפֿיצירטער SOCKS5 וועג קען דער פֿאַבריק שאַפֿן אַ java.net.Socket מיט אַן עקספּליציט Proxy.Type.SOCKS מיטלער, און דערנאָך זיך פֿאַרבינדן צום Redis האָסט און פּאָרט. לאָזט דעם ציל אומגעלאָזט אויב דער SOCKS סערווער דאַרף אויסלאָזן דעם האָסט נאָמען.

באַגרענעצט דעם פֿאַרבינדונג פּרוּוו און פֿירט איין דעם געמיינטן לייען צײַט. אויב די פֿאַרבינדונג דורכפֿאַלט, פֿאַרמאַכט יענע סאָקעט און מעלדט JedisConnectionException; דער פֿאַבריק אינטערפֿייס דערקלערט נישט קיין געפּרוּווטע IOException.

אויב Redis פֿאָדערט TLS, שטעלט אויס און באַשטעטיקט TLS איידער איר קערט צוריק די סאָקעט. מען קען נישט אָננעמען אַז אַ באַזונדער פֿאָן וועט פֿאַרוואַנדלען אַן אַרביטרער סאָקעט וואָס דער פֿאַבריק קערט צוריק. פֿאַר אַ פּול, חזרט איבער דעם לעבנס-ציקל מיט אַ פֿרישער סאָקעט בײַ יעדן פֿאַבריק רוף, אַרײַנגערעכנט פֿאַרבינדונגען פֿאַר פֿאַרבייַטן.

אַ HTTP אויסקלייַב אין אַ גלאָבאַלער ProxySelector איז נישט קיין אַלטערנאַטיווע אויספֿירונג פֿון דער אַרבעט. Redis שיקט RESP איבער זײַן סאָקעט; ער ווערט דערפֿון נישט HTTP און פֿאָרהאַנדלט נישט CONNECT.

פֿאַרבונדענע אַרטיקלען