Dei batzuek enpresako proxya erabili behar dute, beste zerbitzu bat zuzenean lortzen den bitartean. Eman ibilbide horiei RestTemplate instantzia bereiziak, partekatutako fabrika bat aldatzearen ordez, eskaerak gainjar daitezkeelako.

Dagoen Spring konfigurazio klase baten barruan:

@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);
}

Spring 6.2-ren JDK eskaera fabrikarako, Proxy.NO_PROXY-k konexio zuzeneko politika esplizitua ematen du. Fabrikaren proxya konfiguratu gabe uzteak URLConnection konfigurazio bide arrunta ahalbidetzen du, eta horrek JVM proxy bat aukera dezake.

Erabili @Qualifier injekzio puntuan behar den beana hautatzeko, adibidez @Qualifier("directRestTemplate") RestTemplate rest. Bi beanak definitzeak soilik ez du haien artean hautatzen mendekotasun anbiguo batentzat.

Adibide honek autentifikaziorik gabeko HTTP proxy bat hautatzen du. Proxy autentifikazioa behar duen garraio bat bereiz eraiki daiteke bere kredentzial hornitzaile onartuarekin, bean hautatzeko antolaketa bera mantenduz. Spring 6-rako Apache HttpClient 5-ekin, mugatu hornitzaile hori proxyaren amaierako puntura.

Aplikazioak nahita instalatutako beste intertzeptore edo eskaera fabrikak bere bezero konfigurazioaren parte izaten jarraitzen dute. Eutsi horiek benetan behar dituen ibilbidearekin.

Erlazionatutako artikuluak