Class VaultReactiveAutoConfiguration
- java.lang.Object
-
- org.springframework.cloud.vault.config.VaultReactiveAutoConfiguration
-
- All Implemented Interfaces:
org.springframework.beans.factory.InitializingBean
- Direct Known Subclasses:
VaultReactiveBootstrapConfiguration
@Configuration(proxyBeanMethods=false) @ConditionalOnProperty(name="spring.cloud.vault.enabled", matchIfMissing=true) @ConditionalOnExpression("${spring.cloud.vault.reactive.enabled:true}") @ConditionalOnClass({reactor.core.publisher.Flux.class,org.springframework.web.reactive.function.client.WebClient.class,org.springframework.vault.core.ReactiveVaultOperations.class,reactor.netty.http.client.HttpClient.class}) @EnableConfigurationProperties(VaultProperties.class) @AutoConfigureBefore(VaultAutoConfiguration.class) public class VaultReactiveAutoConfiguration extends Object implements org.springframework.beans.factory.InitializingBeanAuto-configurationfor reactive Spring Vault support.This auto-configuration only supports static endpoints without
VaultEndpointProvidersupport as endpoint providers could be potentially blocking implementations.- Since:
- 3.0
- Author:
- Mark Paluch
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classVaultReactiveAutoConfiguration.ClientHttpConnectorWrapperWrapper forClientHttpConnectorto not expose the bean globally.
-
Constructor Summary
Constructors Constructor Description VaultReactiveAutoConfiguration(VaultProperties vaultProperties, org.springframework.beans.factory.ObjectProvider<org.springframework.vault.client.ReactiveVaultEndpointProvider> reactiveEndpointProvider, org.springframework.beans.factory.ObjectProvider<org.springframework.vault.client.VaultEndpointProvider> endpointProvider, org.springframework.beans.factory.ObjectProvider<List<org.springframework.vault.client.WebClientCustomizer>> webClientCustomizers)Deprecated.VaultReactiveAutoConfiguration(org.springframework.context.ConfigurableApplicationContext applicationContext, VaultProperties vaultProperties, org.springframework.beans.factory.ObjectProvider<org.springframework.vault.client.ReactiveVaultEndpointProvider> reactiveEndpointProvider, org.springframework.beans.factory.ObjectProvider<org.springframework.vault.client.VaultEndpointProvider> endpointProvider, org.springframework.beans.factory.ObjectProvider<List<org.springframework.vault.client.WebClientCustomizer>> webClientCustomizers)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidafterPropertiesSet()VaultReactiveAutoConfiguration.ClientHttpConnectorWrapperclientHttpConnectorWrapper()Creates aVaultReactiveAutoConfiguration.ClientHttpConnectorWrappercontaining aClientHttpConnector.protected org.springframework.http.client.reactive.ClientHttpConnectorcreateConnector(VaultProperties vaultProperties)Creates aClientHttpConnectorconfigured withClientOptionsandSslConfigurationwhich are not necessarily applicable for the whole application.protected org.springframework.http.client.reactive.ClientHttpConnectorgetClientHttpConnector()org.springframework.vault.authentication.ReactiveSessionManagerreactiveVaultSessionManager(org.springframework.beans.factory.BeanFactory beanFactory, org.springframework.beans.factory.ObjectFactory<VaultAutoConfiguration.TaskSchedulerWrapper> asyncTaskExecutorFactory, org.springframework.vault.client.WebClientFactory webClientFactory)org.springframework.vault.core.ReactiveVaultTemplatereactiveVaultTemplate(org.springframework.beans.factory.ObjectProvider<org.springframework.vault.authentication.ReactiveSessionManager> sessionManager)Creates aReactiveVaultTemplate.org.springframework.vault.authentication.SessionManagervaultSessionManager(org.springframework.vault.authentication.ReactiveSessionManager sessionManager)org.springframework.vault.authentication.VaultTokenSuppliervaultTokenSupplier(org.springframework.beans.factory.ListableBeanFactory beanFactory, org.springframework.vault.client.WebClientFactory webClientFactory)org.springframework.vault.client.WebClientFactoryvaultWebClientFactory()Create aWebClientFactorybean that is used to produceWebClient.protected org.springframework.vault.client.WebClientBuilderwebClientBuilder(org.springframework.http.client.reactive.ClientHttpConnector connector)
-
-
-
Constructor Detail
-
VaultReactiveAutoConfiguration
@Deprecated public VaultReactiveAutoConfiguration(VaultProperties vaultProperties, org.springframework.beans.factory.ObjectProvider<org.springframework.vault.client.ReactiveVaultEndpointProvider> reactiveEndpointProvider, org.springframework.beans.factory.ObjectProvider<org.springframework.vault.client.VaultEndpointProvider> endpointProvider, org.springframework.beans.factory.ObjectProvider<List<org.springframework.vault.client.WebClientCustomizer>> webClientCustomizers)
Deprecated.
-
VaultReactiveAutoConfiguration
@Autowired public VaultReactiveAutoConfiguration(@Nullable org.springframework.context.ConfigurableApplicationContext applicationContext, VaultProperties vaultProperties, org.springframework.beans.factory.ObjectProvider<org.springframework.vault.client.ReactiveVaultEndpointProvider> reactiveEndpointProvider, org.springframework.beans.factory.ObjectProvider<org.springframework.vault.client.VaultEndpointProvider> endpointProvider, org.springframework.beans.factory.ObjectProvider<List<org.springframework.vault.client.WebClientCustomizer>> webClientCustomizers)
-
-
Method Detail
-
webClientBuilder
protected org.springframework.vault.client.WebClientBuilder webClientBuilder(org.springframework.http.client.reactive.ClientHttpConnector connector)
-
clientHttpConnectorWrapper
@Bean @ConditionalOnMissingBean public VaultReactiveAutoConfiguration.ClientHttpConnectorWrapper clientHttpConnectorWrapper()
Creates aVaultReactiveAutoConfiguration.ClientHttpConnectorWrappercontaining aClientHttpConnector.ClientHttpConnectoris not exposed as root bean becauseClientHttpConnectoris configured withClientOptionsandSslConfigurationwhich are not necessarily applicable for the whole application.- Returns:
- the
VaultReactiveAutoConfiguration.ClientHttpConnectorWrapperto wrap aClientHttpConnectorinstance. - Since:
- 3.0.2
-
afterPropertiesSet
public void afterPropertiesSet()
- Specified by:
afterPropertiesSetin interfaceorg.springframework.beans.factory.InitializingBean
-
createConnector
protected org.springframework.http.client.reactive.ClientHttpConnector createConnector(VaultProperties vaultProperties)
Creates aClientHttpConnectorconfigured withClientOptionsandSslConfigurationwhich are not necessarily applicable for the whole application.- Parameters:
vaultProperties- the Vault properties.- Returns:
- the
ClientHttpConnector.
-
vaultWebClientFactory
@Bean @ConditionalOnMissingBean public org.springframework.vault.client.WebClientFactory vaultWebClientFactory()
Create aWebClientFactorybean that is used to produceWebClient.- Returns:
- the
WebClientFactory. - Since:
- 3.0
-
getClientHttpConnector
protected org.springframework.http.client.reactive.ClientHttpConnector getClientHttpConnector()
-
reactiveVaultTemplate
@Bean @ConditionalOnMissingBean(org.springframework.vault.core.ReactiveVaultOperations.class) public org.springframework.vault.core.ReactiveVaultTemplate reactiveVaultTemplate(org.springframework.beans.factory.ObjectProvider<org.springframework.vault.authentication.ReactiveSessionManager> sessionManager)
Creates aReactiveVaultTemplate.- Parameters:
sessionManager- object provider forReactiveSessionManager.- Returns:
- the
ReactiveVaultTemplatebean. - See Also:
reactiveVaultSessionManager(BeanFactory, ObjectFactory, WebClientFactory)
-
reactiveVaultSessionManager
@Bean @ConditionalOnMissingBean @ConditionalOnAuthentication public org.springframework.vault.authentication.ReactiveSessionManager reactiveVaultSessionManager(org.springframework.beans.factory.BeanFactory beanFactory, org.springframework.beans.factory.ObjectFactory<VaultAutoConfiguration.TaskSchedulerWrapper> asyncTaskExecutorFactory, org.springframework.vault.client.WebClientFactory webClientFactory)- Parameters:
beanFactory- theBeanFactory.asyncTaskExecutorFactory- theObjectFactoryforVaultAutoConfiguration.TaskSchedulerWrapper.webClientFactory- the web client factory- Returns:
ReactiveSessionManagerfor reactive session use.- See Also:
ReactiveSessionManager,ReactiveLifecycleAwareSessionManager
-
vaultSessionManager
@Bean @ConditionalOnMissingBean @ConditionalOnAuthentication public org.springframework.vault.authentication.SessionManager vaultSessionManager(org.springframework.vault.authentication.ReactiveSessionManager sessionManager)
- Parameters:
sessionManager- theReactiveSessionManager.- Returns:
SessionManageradapter wrappingReactiveSessionManager.
-
vaultTokenSupplier
@Bean @ConditionalOnMissingBean(name="vaultTokenSupplier") @ConditionalOnAuthentication public org.springframework.vault.authentication.VaultTokenSupplier vaultTokenSupplier(org.springframework.beans.factory.ListableBeanFactory beanFactory, org.springframework.vault.client.WebClientFactory webClientFactory)- Parameters:
beanFactory- theBeanFactory.webClientFactory- theWebClientFactory.- Returns:
- the
VaultTokenSupplierfor reactive Vault session management adaptingClientAuthenticationthat also implementAuthenticationStepsFactory. - See Also:
AuthenticationStepsFactory
-
-