Telepítse a Spring Cloud Vault proxy-gyárát az application.run előtt
Használja a bootstrap-regiszter horgát a ConfigData eléréséhez, amely a szokásos alkalmazás-beanek létezése előtt is megtörténhet.
Amikor a Vault ConfigData-t szolgáltat, első kérése még a szokásos proxy-testreszabó bean létezése előtt megtörténhet. Telepítse inkább a kérésgyárat a bootstrap-regiszteren keresztül.
Spring Framework 6.1 vagy újabb verem esetén:
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 a meglévő SpringApplication. Adja hozzá ezt az inicializálót a run meghívása előtt, megtartva a Vault URI-t és a hitelesítési beállításokat.
ClientFactoryWrapper ezt a gyárat teszi elérhetővé a Vault bootstrap-infrastruktúrája számára; nem telepít alkalmazásszintű alapértelmezést a nem kapcsolódó HTTP-kliensekhez.
Használja a projekt kompatibilis Cloud Vault/Boot függőségkészletét. Az Apache 4 példái nem másolhatók át a Spring Framework 6 Apache 5 kérésgyárába.
Tegye elérhetővé a proxy címét a bootstrap előtt is. Egy nyilvánosan elérhető Vault-kiszolgálóhoz olyan útvonalon, amely engedi a nyilvános proxykat, válasszon HTTP-jelöltet a HTTP-proxyk listájából közül az alkalmazás indítása előtt. Ha csak a Vaultban tárolják, az alkalmazás nem tudja felderíteni az első Vault-kéréshez szükséges útvonalat.