Paigaldage Spring Cloud Vaulti puhverserveri tehas enne application.run-i
Kasutage ConfigData juurdepääsuks bootstrap-registri konksu, mis võib toimuda enne tavaliste rakenduse beanide olemasolu.
Kui Vault edastab ConfigData't, võib selle esimene päring toimuda enne, kui tavaline puhverserveri kohandaja bean on olemas. Paigaldage päringutehas hoopis bootstrap-registri kaudu.
Spring Framework 6.1 või uuema virna jaoks:
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 on olemasolev SpringApplication. Lisage see initsialiseerija enne run kutsumist, säilitades Vaulti URI ja autentimisseaded.
ClientFactoryWrapper avab selle tehase Vaulti bootstrap-taristule; see ei paigalda rakenduseülest vaikeväärtust mitteseotud HTTP-klientidele.
Kasutage projekti ühilduvat Cloud Vault/Boot sõltuvuste komplekti. Apache 4 näiteid ei saa kopeerida Spring Framework 6 Apache 5 päringutehasesse.
Tehke puhverserveri aadress kättesaadavaks ka enne bootstrap'i. Avalikult kättesaadava Vaulti serveri jaoks marsruudil, mis lubab avalikke puhverservereid, valige enne rakenduse käivitamist HTTP-kandidaat HTTP puhverserverite loendist hulgast. Kui see on salvestatud ainult Vaulti, ei suuda rakendus avastada marsruuti, mida selle esimese Vaulti päringu jaoks vaja on.