Installer proxyfabrikken til Spring Cloud Vault før application.run
Bruk bootstrap-registerkroken for ConfigData-tilgang, som kan skje før vanlege applikasjonsbønner finst.
Når Vault leverer ConfigData, kan den første førespurnaden skje før ein vanleg proxy-tilpassingsbønne finst. Installer i staden førespurnadsfabrikken gjennom bootstrap-registeret.
For ein Spring Framework 6.1-eller-nyare-stack:
import java.net.InetSocketAddress;
import java.net.ProxySelector;
import java.net.http.HttpClient;
import org.springframework.http.client.JdkClientHttpRequestFactory;
import org.springframework.vault.config.AbstractVaultConfiguration
.ClientFactoryWrapper;
var http = HttpClient.newBuilder()
.proxy(ProxySelector.of(
new InetSocketAddress("proxy.example.net", 8080)))
.build();
application.addBootstrapRegistryInitializer(registry ->
registry.register(ClientFactoryWrapper.class, context ->
new ClientFactoryWrapper(
new JdkClientHttpRequestFactory(http))));application er den eksisterande SpringApplication. Legg til denne initialiseringa før du kallar run, og hald på Vault-URI-en og autentiseringsinnstillingane.
ClientFactoryWrapper eksponerer denne fabrikken for bootstrap-infrastrukturen til Vault; han installerar ikkje ein applikasjonsomfattande standard for ikkje-relaterte HTTP-klientar.
Bruk det kompatible Cloud Vault/Boot-avhengighetssettet til prosjektet. Apache 4-døme kan ikkje kopierast inn i Apache 5-førespurnadsfabrikken til Spring Framework 6.
Gjer proxyadressa tilgjengeleg før bootstrap òg. For ein offentleg tilgjengeleg Vault-tenar på ei rute som tillèt offentlege proxyar, vel ein HTTP-kandidat frå HTTP-proxylista før applikasjonen startar. Viss han berre er lagra i Vault, kan ikkje applikasjonen oppdage ruta som trengst for den første Vault-førespurnaden.