Įdiekite Spring Cloud Vault tarpinio serverio gamyklą prieš application.run
Naudokite bootstrap registro kabliuką ConfigData prieigai, kuri gali įvykti prieš atsirandant įprastiems programos bean'ams.
Kai Vault teikia ConfigData, jo pirmoji užklausa gali įvykti prieš atsirandant įprastam tarpinio serverio pritaikymo bean'ui. Vietoj to įdiekite užklausų gamyklą per bootstrap registrą.
Spring Framework 6.1 arba naujesniam stekui:
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 yra esamas SpringApplication. Pridėkite šį inicializatorių prieš kviesdami run, išsaugodami Vault URI ir autentifikavimo nuostatas.
ClientFactoryWrapper atskleidžia šią gamyklą Vault bootstrap infrastruktūrai; ji neįdiegia visos programos numatytosios reikšmės nesusijusiems HTTP klientams.
Naudokite projekto suderinamą Cloud Vault/Boot priklausomybių rinkinį. Apache 4 pavyzdžių negalima kopijuoti į Spring Framework 6 Apache 5 užklausų gamyklą.
Padarykite tarpinio serverio adresą prieinamą ir prieš bootstrap. Viešai pasiekiamam Vault serveriui maršrute, kuris leidžia viešus tarpinius serverius, prieš programos paleidimą pasirinkite HTTP kandidatą iš HTTP tarpinių serverių sąrašo. Jei jis saugomas tik Vault, programa negali rasti maršruto, reikalingo tai pirmajai Vault užklausai.