application.run च्या आधी Spring Cloud Vault ची प्रॉक्सी फॅक्टरी स्थापित करा
ConfigData प्रवेशासाठी bootstrap रजिस्ट्री हुक वापरा, जे सामान्य एप्लिकेशन बीन असण्यापूर्वीच घडू शकते.
जेव्हा Vault ConfigData पुरवते, तेव्हा त्याची पहिली विनंती सामान्य प्रॉक्सी-कस्टमायझर बीन असण्यापूर्वीच होऊ शकते. त्याऐवजी bootstrap रजिस्ट्रीद्वारे विनंती फॅक्टरी स्थापित करा.
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 आहे. run कॉल करण्यापूर्वी हा इनिशियलायझर जोडा, आणि Vault URI तसेच प्रमाणीकरण सेटिंग्ज टिकवून ठेवा.
ClientFactoryWrapper ही फॅक्टरी Vault च्या bootstrap अधोसंरचनेसमोर उघड करते; ती असंबंधित HTTP क्लायंटसाठी एप्लिकेशन-व्यापी डीफॉल्ट स्थापित करत नाही.
प्रकल्पाचा सुसंगत Cloud Vault/Boot अवलंबित्व संच वापरा. Apache 4 ची उदाहरणे Spring Framework 6 च्या Apache 5 विनंती फॅक्टरीमध्ये कॉपी करता येत नाहीत.
प्रॉक्सी पत्ता bootstrap पूर्वीही उपलब्ध करा. सार्वजनिकरित्या पोहोचण्याजोग्या Vault सर्व्हरसाठी, सार्वजनिक प्रॉक्सीला परवानगी देणाऱ्या मार्गावर, एप्लिकेशन सुरू होण्यापूर्वी HTTP प्रॉक्सी सूची मधून HTTP उमेदवार निवडा. जर तो फक्त Vault मध्ये साठवला असेल, तर एप्लिकेशन त्या पहिल्या Vault विनंतीसाठी आवश्यक मार्ग शोधू शकत नाही.