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 વિનંતી માટે જરૂરી માર્ગ શોધી શકશે નહીં.