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 অনুরোধের জন্য প্রয়োজনীয় রুট খুঁজে পাবে না।