Installer Spring Cloud Vaults proxyfabrik før application.run
Brug bootstrap-registreringskrogen til ConfigData-adgang, som kan ske før almindelige applikationsbønner findes.
Når Vault leverer ConfigData, kan dens første anmodning ske, før en almindelig proxy-tilpasningsbønne findes. Installer i stedet anmodningsfabrikken gennem bootstrap-registeret.
Til et Spring Framework 6.1-eller-senere-stak:
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. Tilføj denne initializer, før du kalder run, og bevar Vault-URI'en og godkendelsesindstillingerne.
ClientFactoryWrapper eksponerer denne fabrik for Vaults bootstrap-infrastruktur; den installerer ikke en programdækkende standard for ikke-relaterede HTTP-klienter.
Brug projektets kompatible Cloud Vault/Boot-afhængighedssæt. Apache 4-eksempler kan ikke kopieres til Spring Framework 6's Apache 5-anmodningsfabrik.
Gør proxyadressen tilgængelig før bootstrap også. For en offentligt tilgængelig Vault-server på en rute, der tillader offentlige proxyer, skal du vælge en HTTP-kandidat fra HTTP-proxylisten før applikationsstart. Hvis den kun er gemt i Vault, kan applikationen ikke finde den rute, der er nødvendig for den første Vault-anmodning.