Direkte en fia proxy RestTemplate-beans konfigurearje yn Spring
Meitsje aparte RestTemplate-beans foar in HTTP-proxy en in eksplisyt direkte JDK-ferbining ynstee fan ien dielde rûte om yndividuele oproppen hinne te wikseljen.
Guon oproppen moatte de bedriuwsproxy brûke, wylst in oare tsjinst direkt berikt wurdt. Jou dy rûtes aparte RestTemplate-eksimplaren ynstee fan ien dielde fabryk te feroarjen wylst fersiken oerlaapje kinne.
Binnen in besteande Spring-konfiguraasjeklasse:
@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);
}
Foar de JDK-fersyksfabryk fan Spring 6.2 jout Proxy.NO_PROXY in eksplisyt direkte ferbiningbelied. Lit men de proxy fan 'e fabryk net ynsteld, dan wurdt it gewoane URLConnection-konfiguraasjepaad tastien, dat in JVM-proxy kieze kin.
Brûk @Qualifier op it ynjeksjepunt om de nedige bean te kiezen, bygelyks @Qualifier("directRestTemplate") RestTemplate rest. Allinnich it definiearjen fan 'e twa beans kiest net tusken har by in dûbelsinnige ôfhinklikens.
Dit foarbyld kiest in HTTP-proxy sûnder ferifikaasje. In ferfier dat proxy-ferifikaasje nedich hat, kin apart boud wurde mei syn stipe oanprovider fan bewiisstikken wylst deselde bean-kar-regeling behâlden wurdt. Foar Spring 6 mei Apache HttpClient 5, behein dy oanprovider ta it proxy-einpunt.
Oare ûnderskeppers of fersyksfabriken dy't de applikaasje bewust ynstallearret, hearre noch altyd by syn eigen kliïntkonfiguraasje. Hâld se by de rûte dy't se wier nedich hat.