Installer Spring Cloud Vaults proxyfabrikk før application.run
Bruk bootstrap-registerkroken for ConfigData-tilgang, som kan skje før vanlige applikasjonsbønner finnes.
Når Vault leverer ConfigData, kan den første forespørselen skje før en vanlig proxy-tilpasningsbønne finnes. Installer i stedet forespørselsfabrikken gjennom bootstrap-registeret.
For en Spring Framework 6.1-eller-nyere-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 eksisterende SpringApplication. Legg til denne initialiseringen før du kaller run, og behold Vault-URI-en og autentiseringsinnstillingene.
ClientFactoryWrapper eksponerer denne fabrikken for Vaults bootstrap-infrastruktur; den installerer ikke en applikasjonsomfattende standard for ikke-relaterte HTTP-klienter.
Bruk prosjektets kompatible Cloud Vault/Boot-avhengighetssett. Apache 4-eksempler kan ikke kopieres inn i Spring Framework 6s Apache 5-forespørselsfabrikk.
Gjør proxyadressen tilgjengelig før bootstrap også. For en offentlig tilgjengelig Vault-server på en rute som tillater offentlige proxyer, velg en HTTP-kandidat fra HTTP-proxylisten før applikasjonen starter. Hvis den bare lagres i Vault, kan ikke applikasjonen oppdage ruten som trengs for den første Vault-forespørselen.