org.springframework.beans.factory.ObjectProvider#getIfAvailable ( )源码实例Demo

下面列出了org.springframework.beans.factory.ObjectProvider#getIfAvailable ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

@Bean
ServiceInstanceListSupplier supplier(ConfigurableApplicationContext context,
		ReactiveDiscoveryClient discoveryClient,
		LoadBalancerProperties loadBalancerProperties,
		WebClient.Builder webClientBuilder) {
	DiscoveryClientServiceInstanceListSupplier firstDelegate = new DiscoveryClientServiceInstanceListSupplier(
			discoveryClient, context.getEnvironment());
	HealthCheckServiceInstanceListSupplier delegate = new TestHealthCheckServiceInstanceListSupplier(
			firstDelegate, loadBalancerProperties.getHealthCheck(),
			webClientBuilder.build());
	delegate.afterPropertiesSet();
	ObjectProvider<LoadBalancerCacheManager> cacheManagerProvider = context
			.getBeanProvider(LoadBalancerCacheManager.class);
	return new CachingServiceInstanceListSupplier(delegate,
			cacheManagerProvider.getIfAvailable());
}
 
@Bean
@ConditionalOnGradleVersion({ "4", "5", "6" })
BuildCustomizer<GradleBuild> springBootPluginContributor(ProjectDescription description,
		ObjectProvider<DependencyManagementPluginVersionResolver> versionResolver, InitializrMetadata metadata) {
	return new SpringBootPluginBuildCustomizer(description, versionResolver
			.getIfAvailable(() -> new InitializrDependencyManagementPluginVersionResolver(metadata)));
}
 
@Bean
@ConditionalOnMissingBean
MessageVerifier<Message> contractVerifierJmsMessageExchange(
		ObjectProvider<JmsTemplate> jmsTemplateProvider) {
	JmsTemplate jmsTemplate = jmsTemplateProvider.getIfAvailable(JmsTemplate::new);
	return new JmsStubMessages(jmsTemplate);
}
 
public DefaultUserInfoRestTemplateFactory(ObjectProvider<List<UserInfoRestTemplateCustomizer>> customizers,
		ObjectProvider<OAuth2ProtectedResourceDetails> details,
		ObjectProvider<OAuth2ClientContext> oauth2ClientContext) {
	this.customizers = customizers.getIfAvailable();
	this.details = details.getIfAvailable();
	this.oauth2ClientContext = oauth2ClientContext.getIfAvailable();
}
 
public SpringSecurityAuthenticationContextConfiguration(ObjectProvider<AuthenticationContext> authenticationContext) {
    AuthenticationContext context = authenticationContext.getIfAvailable();
    if (context == null) {
        context = new SpringSecurityAuthenticationContext();
    }

    Authentication.setAuthenticationContext(context);
}
 
@Autowired
public void setHazelcastInstance(
		@SpringSessionHazelcastInstance ObjectProvider<HazelcastInstance> springSessionHazelcastInstance,
		ObjectProvider<HazelcastInstance> hazelcastInstance) {
	HazelcastInstance hazelcastInstanceToUse = springSessionHazelcastInstance.getIfAvailable();
	if (hazelcastInstanceToUse == null) {
		hazelcastInstanceToUse = hazelcastInstance.getObject();
	}
	this.hazelcastInstance = hazelcastInstanceToUse;
}
 
@Bean(destroyMethod = "close")
@ConditionalOnMissingBean
public CuratorFramework curatorFramework(RetryPolicy retryPolicy,
		ZookeeperProperties properties,
		ObjectProvider<CuratorFrameworkCustomizer> optionalCuratorFrameworkCustomizerProvider,
		ObjectProvider<EnsembleProvider> optionalEnsembleProvider,
		ObjectProvider<TracerDriver> optionalTracerDriverProvider) throws Exception {
	CuratorFrameworkFactory.Builder builder = CuratorFrameworkFactory.builder();

	EnsembleProvider ensembleProvider = optionalEnsembleProvider.getIfAvailable();
	if (ensembleProvider != null) {
		builder.ensembleProvider(ensembleProvider);
	}
	else {
		builder.connectString(properties.getConnectString());
	}
	builder.sessionTimeoutMs((int) properties.getSessionTimeout().toMillis())
			.connectionTimeoutMs((int) properties.getConnectionTimeout().toMillis())
			.retryPolicy(retryPolicy);

	optionalCuratorFrameworkCustomizerProvider.orderedStream()
			.forEach(curatorFrameworkCustomizer -> curatorFrameworkCustomizer
					.customize(builder));

	CuratorFramework curator = builder.build();
	optionalTracerDriverProvider.ifAvailable(tracerDriver -> {
		if (curator.getZookeeperClient() != null) {
			curator.getZookeeperClient().setTracerDriver(tracerDriver);
		}
	});

	curator.start();
	log.trace("blocking until connected to zookeeper for "
			+ properties.getBlockUntilConnectedWait()
			+ properties.getBlockUntilConnectedUnit());
	curator.blockUntilConnected(properties.getBlockUntilConnectedWait(),
			properties.getBlockUntilConnectedUnit());
	log.trace("connected to zookeeper");
	return curator;
}
 
@Autowired
public void setRedisConnectionFactory(
		@SpringSessionRedisConnectionFactory ObjectProvider<RedisConnectionFactory> springSessionRedisConnectionFactory,
		ObjectProvider<RedisConnectionFactory> redisConnectionFactory) {
	RedisConnectionFactory redisConnectionFactoryToUse = springSessionRedisConnectionFactory.getIfAvailable();
	if (redisConnectionFactoryToUse == null) {
		redisConnectionFactoryToUse = redisConnectionFactory.getObject();
	}
	this.redisConnectionFactory = redisConnectionFactoryToUse;
}
 
public ApiBootWebSecurityMemoryAutoConfiguration(ApiBootSecurityProperties apiBootSecurityProperties, ObjectProvider<AccessDeniedHandler> accessDeniedHandler, ObjectProvider<AuthenticationEntryPoint> authenticationEntryPoint) {
    super(apiBootSecurityProperties, accessDeniedHandler.getIfAvailable(), authenticationEntryPoint.getIfAvailable());
}
 
public MailSenderAutoConfiguration(ObjectProvider<RegionProvider> regionProvider) {
	this.regionProvider = regionProvider.getIfAvailable();
}
 
源代码11 项目: bird-java   文件: TraceClientAutoConfigurer.java
public TraceClientAutoConfigurer(ApplicationContext applicationContext, ObjectProvider<List<ITraceLogCustomizer>> logCustomizersProvider) {
    this.applicationContext = applicationContext;
    this.logCustomizers = logCustomizersProvider.getIfAvailable();
}
 
@Bean
PersistentApplicationEventMulticaster applicationEventMulticaster(ObjectProvider<EventPublicationRegistry> registry) {

	return new PersistentApplicationEventMulticaster(
			() -> registry.getIfAvailable(() -> new MapEventPublicationRegistry()));
}
 
public ApiBootWebSecurityMemoryAutoConfiguration(ApiBootSecurityProperties apiBootSecurityProperties, ObjectProvider<AccessDeniedHandler> accessDeniedHandler, ObjectProvider<AuthenticationEntryPoint> authenticationEntryPoint) {
    super(apiBootSecurityProperties, accessDeniedHandler.getIfAvailable(), authenticationEntryPoint.getIfAvailable());
}
 
public ApiBootResourceRedisLoadAutoConfiguration(ObjectProvider<ApiBootResourceStoreDelegate> resourceStoreDelegateObjectProvider) {
    this.resourceStoreDelegate = resourceStoreDelegateObjectProvider.getIfAvailable();
}
 
public ApiBootResourceLoadAutoConfiguration(ObjectProvider<ApiBootResourceStoreDelegate> resourceStoreDelegateObjectProvider) {
    this.resourceStoreDelegate = resourceStoreDelegateObjectProvider.getIfAvailable();
}
 
public SentinelWebFluxAutoConfiguration(
		ObjectProvider<List<ViewResolver>> viewResolvers,
		ServerCodecConfigurer serverCodecConfigurer) {
	this.viewResolvers = viewResolvers.getIfAvailable(Collections::emptyList);
	this.serverCodecConfigurer = serverCodecConfigurer;
}
 
源代码17 项目: chronus   文件: ChronusAutoConfiguration.java
public ChronusAutoConfiguration(ObjectProvider<ApplicationConfig> applicationConfig,
                                ObjectProvider<RegistryConfig> registryConfig) {
    this.applicationConfig = applicationConfig.getIfAvailable();
    this.registryConfig = registryConfig.getIfAvailable();
}
 
源代码18 项目: lion   文件: SentinelConfig.java
public SentinelConfig(ObjectProvider<List<ViewResolver>> viewResolversProvider, ServerCodecConfigurer serverCodecConfigurer) {
    this.viewResolvers = viewResolversProvider.getIfAvailable(Collections::emptyList);
    this.serverCodecConfigurer = serverCodecConfigurer;
}
 
源代码19 项目: soul   文件: WebsocketSyncDataConfiguration.java
/**
 * Websocket sync data service.
 *
 * @param websocketConfig   the websocket config
 * @param pluginSubscriber the plugin subscriber
 * @param metaSubscribers   the meta subscribers
 * @param authSubscribers   the auth subscribers
 * @return the sync data service
 */
@Bean
public SyncDataService websocketSyncDataService(final ObjectProvider<WebsocketConfig> websocketConfig, final ObjectProvider<PluginDataSubscriber> pluginSubscriber,
                                       final ObjectProvider<List<MetaDataSubscriber>> metaSubscribers, final ObjectProvider<List<AuthDataSubscriber>> authSubscribers) {
    log.info("you use websocket sync soul data.......");
    return new WebsocketSyncDataService(websocketConfig.getIfAvailable(WebsocketConfig::new), pluginSubscriber.getIfAvailable(),
            metaSubscribers.getIfAvailable(Collections::emptyList), authSubscribers.getIfAvailable(Collections::emptyList));
}
 
源代码20 项目: soul   文件: SpringCloudPluginConfiguration.java
/**
 * init springCloud plugin.
 *
 * @param loadBalancerClient the load balancer client
 * @return {@linkplain SpringCloudPlugin}
 */
@Bean
public SoulPlugin springCloudPlugin(final ObjectProvider<LoadBalancerClient> loadBalancerClient) {
    return new SpringCloudPlugin(loadBalancerClient.getIfAvailable());
}