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 درخواست کے لیے درکار راستہ نہیں ڈھونڈ سکے گی۔