Direkt an iwwer Proxy lafend RestTemplate-Beans a Spring konfiguréieren
Erstellt getrennte RestTemplate-Beans fir en HTTP-Proxy an eng ausdrécklech direkt JDK-Verbindung, amplaz eng gedeelt Streck ëm eenzel Ufroen ëmzeschalten.
Een Deel vun den Ufroen muss iwwer de Firmeproxy lafen, wärend en aneren Déngscht direkt erreecht gëtt. Gëff deene Weeër eege RestTemplate-Instanzen, amplaz eng gedeelt Fabréck z'änneren, wärend d'Ufroen sech kënnen iwwerlappen.
Bannen enger bestoender Spring-Konfiguratiounsklass:
@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);
}
Fir d'JDK-Ufroenfabréck vu Spring 6.2 gëtt Proxy.NO_PROXY eng explizit direkt Verbindungspolitik. Wann de Proxy vun der Fabréck net gesat gëtt, gëtt amplaz de gewéinlechen URLConnection-Konfiguratiounswee erlaabt, deen e JVM-Proxy auswiele kann.
Benotz @Qualifier op der Injektiounsstell, fir déi néideg Bean auszewielen, zum Beispill @Qualifier("directRestTemplate") RestTemplate rest. Just déi zwou Beans definéieren decidéiert bei enger onkloerer Ofhängegkeet net tëscht hinnen.
Dëst Beispill wielt en HTTP-Proxy ouni Authentifikatioun. En Transport, deen Proxy-Authentifikatioun brauch, kann separat mat sengem ënnerstëtzte Credential-Provider opgebaut ginn, wärend déiselwecht Bean-Auswiel behalen gëtt. Fir Spring 6 mat Apache HttpClient 5 begrenz dee Provider op den Endpunkt vum Proxy.
Aner Interceptoren oder Ufroenfabrécken, déi d'Applikatioun bewosst installéiert, gehéieren nach ëmmer zu hirer eegener Client-Konfiguratioun. Hal se bei dem Wee, deen se wierklech brauch.