קאָנפיגורירן דירעקטע און פּראָקסי RestTemplate beans אין Spring
שאַפֿט באַזונדערע RestTemplate beans פֿאַר אַן HTTP־פּראָקסי און אַן אויסדריקלעך דירעקטער JDK־פֿאַרבינדונג, אַנשטאָט איבערצושטעלן אַ געמיינזאַמער רוטע אַרום יעדער רופּ.
עטלכע רופּן מוזן ניצן דעם פירמע־פּראָקסי בשעת אַן אַנדער סערוויס ווערט דערגרייכט דירעקט. גיט די רוטעס באַזונדערע RestTemplate אינסטאַנצן אַנשטאָט צו ענדערן איין געמיינזאַם פֿאַבריק בשעת פֿאָדערונגען קענען איבערלאַפּן זיך.
אין אַן עקסיסטירנדיקער Spring קאָנפיגוראַציע־קלאַס:
@Bean("directRestTemplate")
RestTemplate directRestTemplate() {
var factory = new SimpleClientHttpRequestFactory();
factory.setProxy(java.net.Proxy.NO_PROXY);
return new RestTemplate(factory);
}
@Bean("proxyRestTemplate")
RestTemplate proxyRestTemplate() {
var factory = new SimpleClientHttpRequestFactory();
factory.setProxy(new java.net.Proxy(
java.net.Proxy.Type.HTTP,
new java.net.InetSocketAddress("proxy.example", 8080)));
return new RestTemplate(factory);
}
פֿאַר דער JDK־פֿאָדערונג־פֿאַבריק אין Spring 6.2 גיט Proxy.NO_PROXY אַ קלאָרע דירעקטע פֿאַרבינדונג־פּאָליטיק. ווען מען לאָזט דעם פֿאַבריק־פּראָקסי אומגעשטעלט, ווערט אַנשטאָט דעם דער געוויינטלעכער URLConnection־וועג ערלויבט, וואָס קען אויסקלײַבן אַ JVM־פּראָקסי.
ניצט @Qualifier ביים אַרײַנשיט־פּונקט צו קלײַבן דעם נויטיקן bean, למשל @Qualifier("directRestTemplate") RestTemplate rest. בלויז דעפֿינירן די צוויי beans קלײַבט נישט צווישן זיי פֿאַר אַן אומקלאָרן אָפּהענגיקייט.
דאָס ביישפּיל קלײַבט אַן HTTP־פּראָקסי אָן אויטענטיפֿיקאַציע. אַ טראַנספּאָרט וואָס דאַרף פּראָקסי־אויטענטיפֿיקאַציע קען ווערן געבויט באַזונדער מיט זײַן געשטיצטן באַגלייבקייט־פּרוויידער בשעת דער זעלביקער bean־קלייב־סדר ווערט געהאַלטן. פֿאַר Spring 6 מיט Apache HttpClient 5, באַגרענעצט יענעם פּרוויידער צו דעם פּראָקסי־ענדפּונקט.
אַנדערע אינטערסעפּטאָרן אָדער פֿאָדערונג־פֿאַבריקן וואָס די אַפּליקאַציע שטעלט באַוווּסט אַרײַן געהערן נאָך אַלץ צו איר אייגענער קליענט־קאָנפיגוראַציע. האַלט זיי מיט דער רוטע וואָס דאַרף זיי טאַקע.