Setjið proxy-verksmiðju Spring Cloud Vault upp fyrir application.run
Notið krók bootstrap-skrárinnar fyrir aðgang að ConfigData, sem getur gerst áður en venjulegar app-beans eru til.
Þegar Vault veitir ConfigData getur fyrsta beiðni þess átt sér stað áður en venjulegur proxy-sérsniðinn bean er til. Setjið beiðnaverksmiðjuna upp í gegnum bootstrap-skrána í staðinn.
Fyrir Spring Framework 6.1 eða nýrri staka:
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 fyrirliggjandi SpringApplication. Bætið þessum initializer við áður en run er kallað, og haldið Vault URI og stillingum fyrir auðkenningu.
ClientFactoryWrapper gerir þessa verksmiðju aðgengilega fyrir bootstrap-innviði Vault; hún setur ekki upp sjálfgefið gildi fyrir allt appið fyrir ótengda HTTP-viðskiptavini.
Notið samhæft Cloud Vault/Boot-ónæmisheild verkefnisins. Ekki er hægt að afrita Apache 4-dæmi í Apache 5-beiðnaverksmiðju Spring Framework 6.
Gerðu proxy-slóðina aðgengilega líka fyrir bootstrap. Fyrir opinberlega aðgengilegan Vault-þjón á leið sem leyfir opinber proxys, veljið HTTP-frambjóðanda úr HTTP-proxylistanum áður en appið ræsist. Ef það er aðeins geymt í Vault getur appið ekki fundið þá leið sem þarf fyrir þá fyrstu Vault-beiðni.