@Configuration @ConditionalOnClass(org.hswebframework.web.datasource.jta.JtaDynamicDataSourceService.class) public static class InDBJtaDynamicDataSourceServiceAutoConfiguration { @Bean public DynamicDataSourceService inDBJtaDynamicDataSourceService(InDBDataSourceRepository repository, DataSource dataSource) { return new InDBJtaDynamicDataSourceService(repository, new DynamicDataSourceProxy("dataSource", dataSource)); } }
@Configuration @ConditionalOnProperty(prefix = "hsweb.authorize", name = "basic-authorization", havingValue = "true") @ConditionalOnClass(UserTokenForTypeParser.class) public static class BasicAuthorizationConfiguration { @Bean public BasicAuthorizationTokenParser basicAuthorizationTokenParser(AuthenticationManager authenticationManager, UserTokenManager tokenManager) { return new BasicAuthorizationTokenParser(authenticationManager, tokenManager); } } }
/** * @author hengyunabc */ @ConditionalOnClass(Endpoint.class) @EnableConfigurationProperties({ SentinelProperties.class }) public class SentinelEndpointAutoConfiguration { @Bean @ConditionalOnMissingBean @ConditionalOnEnabledEndpoint public SentinelEndpoint sentinelEndPoint(SentinelProperties sentinelProperties) { return new SentinelEndpoint(sentinelProperties); } }
@Configuration @EnableConfigurationProperties @ConditionalOnClass(name = "com.aliyuncs.dysmsapi.model.v20170525.SendSmsRequest") @ConditionalOnProperty(value = "spring.cloud.alibaba.deshao.enable.sms", matchIfMissing = true) public class SmsContextAutoConfiguration { @Bean public SmsConfigProperties smsConfigProperties( AliCloudProperties aliCloudProperties) { return new SmsConfigProperties(aliCloudProperties); } @Bean public SmsConfigRegistration smsConfigRegistration(Environment environment, SmsConfigProperties smsConfigProperties) { return new SmsConfigRegistration(environment, smsConfigProperties); } }
/** * @author xiaolongzuo */ @Configuration @ConditionalOnClass(name = "org.springframework.cloud.alicloud.ans.AnsAutoConfiguration") @EnableConfigurationProperties(AnsProperties.class) @ImportAutoConfiguration(EdasContextAutoConfiguration.class) public class AnsContextAutoConfiguration { }
/** * * @author Craig Andrews * * {@link EnableAutoConfiguration Auto-configuration} for {@link RedissonCacheStatisticsProvider} * */ @Configuration @AutoConfigureAfter(CacheAutoConfiguration.class) @ConditionalOnBean(CacheManager.class) @ConditionalOnClass(CacheStatisticsProvider.class) public class RedissonCacheStatisticsAutoConfiguration { @Bean public RedissonCacheStatisticsProvider redissonCacheStatisticsProvider(){ return new RedissonCacheStatisticsProvider(); } }
@ConditionalOnClass(DruidDataSource.class) @ConditionalOnProperty(name = "spring.datasource.type", havingValue = "com.alibaba.druid.pool.DruidDataSource", matchIfMissing = true) static class Druid extends DruidConfiguration { @Bean @ConfigurationProperties("spring.datasource.druid") public DruidDataSource dataSource(DataSourceProperties properties) { DruidDataSource druidDataSource = (DruidDataSource) properties.initializeDataSourceBuilder().type(DruidDataSource.class).build(); DatabaseDriver databaseDriver = DatabaseDriver.fromJdbcUrl(properties.determineUrl()); String validationQuery = databaseDriver.getValidationQuery(); if (validationQuery != null) { druidDataSource.setValidationQuery(validationQuery); } return druidDataSource; } } }
/** * @author pbting */ @Configuration @EnableConfigurationProperties @ConditionalOnClass(value = SendSmsRequest.class) @ConditionalOnProperty(value = "spring.cloud.alicloud.sms.enable", matchIfMissing = true) public class SmsAutoConfiguration { @Bean public SmsServiceImpl smsService(SmsConfigProperties smsConfigProperties) { return new SmsServiceImpl(smsConfigProperties); } @Bean public SmsInitializerEventListener smsInitializePostListener( SmsConfigProperties msConfigProperties, ISmsService smsService) { return new SmsInitializerEventListener(msConfigProperties, smsService); } }
/** * Configuration for Slfj4 */ @Configuration @ConditionalOnClass(MDC.class) @EnableConfigurationProperties(SleuthSlf4jProperties.class) protected static class Slf4jConfiguration { @Bean @ConditionalOnProperty(value = "spring.sleuth.log.slf4j.enabled", matchIfMissing = true) public CurrentTraceContext.ScopeDecorator slf4jSpanDecorator( SleuthProperties sleuthProperties, SleuthSlf4jProperties sleuthSlf4jProperties) { return new Slf4jScopeDecorator(sleuthProperties, sleuthSlf4jProperties); } }
/** * @author zhouhao * @see JtaJdbcSqlExecutor * @since 3.0 */ @ConditionalOnClass(SqlExecutor.class) @Configuration public class JtaJdbcSqlExecutorAutoConfiguration { @Bean public JtaJdbcSqlExecutor jtaJdbcSqlExecutor() { return new JtaJdbcSqlExecutor(); } }
/** * OSS Auto {@link Configuration} * * @author <a href="mailto:fangjian0423@gmail.com">Jim</a> */ @Configuration @ConditionalOnClass(OSS.class) @ConditionalOnProperty(name = OssConstants.ENABLED, havingValue = "true", matchIfMissing = true) public class OssAutoConfiguration { @Bean @ConditionalOnMissingBean public OssStorageProtocolResolver ossStorageProtocolResolver() { return new OssStorageProtocolResolver(); } }
/** * * @author Craig Andrews * * {@link EnableAutoConfiguration Auto-configuration} for {@link RedissonCacheStatisticsProvider} * */ @Configuration @AutoConfigureAfter(CacheAutoConfiguration.class) @ConditionalOnBean(CacheManager.class) @ConditionalOnClass(CacheStatisticsProvider.class) public class RedissonCacheStatisticsAutoConfiguration { @Bean public RedissonCacheStatisticsProvider redissonCacheStatisticsProvider(){ return new RedissonCacheStatisticsProvider(); } }
@ConditionalOnClass(DruidDataSource.class) @ConditionalOnProperty(name = "spring.datasource.type", havingValue = "com.alibaba.druid.pool.DruidDataSource", matchIfMissing = true) static class Druid extends DruidConfiguration { @Bean @ConfigurationProperties("spring.datasource.druid") public DruidDataSource dataSource(DataSourceProperties properties) { DruidDataSource druidDataSource = (DruidDataSource) properties.initializeDataSourceBuilder().type(DruidDataSource.class).build(); DatabaseDriver databaseDriver = DatabaseDriver.fromJdbcUrl(properties.determineUrl()); String validationQuery = databaseDriver.getValidationQuery(); if (validationQuery != null) { druidDataSource.setValidationQuery(validationQuery); } return druidDataSource; } } }
@Configuration @AutoConfigureBefore(AxonAutoConfiguration.class) @AutoConfigureAfter(name = "org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration") @ConditionalOnClass(name = "com.fasterxml.jackson.databind.ObjectMapper") @EnableConfigurationProperties(value = SerializerProperties.class) public class ObjectMapperAutoConfiguration { @Bean("defaultAxonObjectMapper") @ConditionalOnMissingBean @ConditionalOnExpression("'${axon.serializer.general}' == 'jackson' || '${axon.serializer.events}' == 'jackson' || '${axon.serializer.messages}' == 'jackson'") public ObjectMapper defaultAxonObjectMapper() { return new ObjectMapper().findAndRegisterModules(); } }
/** * @author xiaolongzuo */ @Configuration @ConditionalOnClass(name = "org.springframework.cloud.alicloud.scx.ScxAutoConfiguration") @EnableConfigurationProperties(ScxProperties.class) @ImportAutoConfiguration(EdasContextAutoConfiguration.class) public class ScxContextAutoConfiguration { @Bean(initMethod = "init") @ConditionalOnMissingBean public SchedulerXClient schedulerXClient(AliCloudProperties aliCloudProperties, EdasProperties edasProperties, ScxProperties scxProperties, AliCloudEdasSdk aliCloudEdasSdk) { return AliCloudScxInitializer.initialize(aliCloudProperties, edasProperties, scxProperties, aliCloudEdasSdk); } }
/** * @author xiaojing */ @Configuration @ConditionalOnClass(HystrixCommand.class) public class FescarHystrixAutoConfiguration { @Bean FescarHystrixConcurrencyStrategy fescarHystrixConcurrencyStrategy() { return new FescarHystrixConcurrencyStrategy(); } }
@Configuration @ConditionalOnClass(HealthIndicator.class) @ConditionalOnBean(ConfigServicePropertySourceLocator.class) @ConditionalOnProperty(value = "health.config.enabled", matchIfMissing = true) protected static class ConfigServerHealthIndicatorConfiguration { @Bean public ConfigServerHealthIndicator clientConfigServerHealthIndicator( ConfigServicePropertySourceLocator locator, ConfigClientHealthProperties properties, Environment environment) { return new ConfigServerHealthIndicator(locator, environment, properties); } }
/** * {@link org.springframework.boot.autoconfigure.EnableAutoConfiguration * Auto-configuration} for resilience4j-metrics. */ @Configuration @ConditionalOnClass(MetricsAutoConfiguration.class) @AutoConfigureAfter(value = {CircuitBreakerAutoConfiguration.class, MetricsAutoConfiguration.class}) public class RateLimiterMetricsAutoConfiguration { @Bean public RateLimiterMetrics registerRateLimiterMetrics(RateLimiterRegistry rateLimiterRegistry) { return RateLimiterMetrics.ofRateLimiterRegistry(rateLimiterRegistry); } }
@Bean @Scope("prototype") @ConditionalOnClass(name = "com.alibaba.csp.sentinel.SphU") @ConditionalOnProperty(name = "feign.sentinel.enabled", havingValue = "true") Feign.Builder feignSentinelBuilder(BeanFactory beanFactory) { return FescarSentinelFeignBuilder.builder(beanFactory); }
/** * @author Spencer Gibb */ @Configuration @ConditionalOnClass({LoadBalancerClient.class, RibbonAutoConfiguration.class, DispatcherHandler.class}) @AutoConfigureAfter(RibbonAutoConfiguration.class) @EnableConfigurationProperties(LoadBalancerProperties.class) public class GatewayLoadBalancerClientAutoConfiguration { // GlobalFilter beans @Bean @ConditionalOnBean(LoadBalancerClient.class) @ConditionalOnMissingBean(LoadBalancerClientFilter.class) public LoadBalancerClientFilter loadBalancerClientFilter(LoadBalancerClient client, LoadBalancerProperties properties) { return new LoadBalancerClientFilter(client, properties); } }