ਜਦੋਂ 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 ਬੇਨਤੀ ਲਈ ਲੋੜੀਂਦਾ ਮਾਰਗ ਨਹੀਂ ਲੱਭ ਸਕੇਗਾ।

ਸੰਬੰਧਿਤ ਲੇਖ