ដំឡើងរោងចក្រ proxy របស់ Spring Cloud Vault មុន application.run
ប្រើ hook នៃ bootstrap registry សម្រាប់ការចូលប្រើ ConfigData ដែលអាចកើតឡើងមុនពេល bean ធម្មតារបស់កម្មវិធីមាន។
នៅពេល Vault ផ្តល់ ConfigData សំណើដំបូងរបស់វាអាចកើតឡើងមុនពេល bean កែសម្រួល proxy ធម្មតាមាន។ សូមដំឡើងរោងចក្រសំណើតាមរយៈ bootstrap registry ជំនួសវិញ។
សម្រាប់ stack Spring Framework 6.1 ឬថ្មីជាងនេះ៖
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 គឺជា SpringApplication ដែលមានស្រាប់។ បន្ថែម initializer នេះមុនពេលហៅ run ដោយរក្សា URI របស់ Vault និងការកំណត់ការផ្ទៀងផ្ទាត់។
ClientFactoryWrapper បង្ហាញរោងចក្រនេះដល់ហេដ្ឋារចនាសម្ព័ន្ធ bootstrap របស់ Vault; វាមិនដំឡើងតម្លៃលំនាំដើមទូទាំងកម្មវិធីសម្រាប់អតិថិជន HTTP ដែលមិនពាក់ព័ន្ធទេ។
ប្រើឈុតភាពអាស្រ័យ Cloud Vault/Boot ដែលត្រូវគ្នារបស់គម្រោង។ ឧទាហរណ៍ Apache 4 មិនអាចចម្លងទៅរោងចក្រសំណើ Apache 5 របស់ Spring Framework 6 បានទេ។
ធ្វើឱ្យអាសយដ្ឋាន proxy អាចប្រើបានមុន bootstrap ផងដែរ។ សម្រាប់ម៉ាស៊ីនមេ Vault ដែលអាចចូលបានជាសាធារណៈនៅលើផ្លូវដែលអនុញ្ញាត proxy សាធារណៈ សូមជ្រើសរើសបេក្ខជន HTTP ពី បញ្ជី proxy HTTP មុនពេលកម្មវិធីចាប់ផ្តើម។ ប្រសិនបើវាត្រូវបានរក្សាទុកតែក្នុង Vault កម្មវិធីមិនអាចរកឃើញផ្លូវដែលត្រូវការសម្រាប់សំណើ Vault ដំបូងនោះទេ។