/** * An {@linkplain EnableAutoConfiguration auto-configuration} for a reactive web server. */ @AutoConfigureOrder(Ordered.HIGHEST_PRECEDENCE) @Configuration @ConditionalOnWebApplication(type = ConditionalOnWebApplication.Type.REACTIVE) @ConditionalOnClass(Server.class) @EnableConfigurationProperties({ ServerProperties.class, ArmeriaSettings.class }) @Import(DataBufferFactoryWrapperConfiguration.class) public class ArmeriaReactiveWebServerFactoryAutoConfiguration { /** * Returns a new {@link ArmeriaReactiveWebServerFactory} bean instance. */ @Bean public ArmeriaReactiveWebServerFactory armeriaReactiveWebServerFactory( ConfigurableListableBeanFactory beanFactory) { return new ArmeriaReactiveWebServerFactory(beanFactory); } }
@AutoConfigureOrder @ConditionalOnBean(annotation = GRpcService.class) @EnableConfigurationProperties(GRpcServerProperties.class)
/** * @author Spencer Gibb */ @Configuration @ConditionalOnProperty(value = "spring.cloud.util.enabled", matchIfMissing = true) @AutoConfigureOrder(0) @EnableConfigurationProperties public class UtilAutoConfiguration { @Bean public InetUtilsProperties inetUtilsProperties() { return new InetUtilsProperties(); } @Bean @ConditionalOnMissingBean public InetUtils inetUtils(InetUtilsProperties properties) { return new InetUtils(properties); } }
/** * {@link EnableAutoConfiguration Auto-configuration} that fails the build fast for incompatible * versions of dependencies (e.g. invalid version of Boot). * * @author Marcin Grzejszczak * @since 1.3.6 */ @Configuration @ConditionalOnProperty(value = "spring.cloud.compatibility-verifier.enabled", matchIfMissing = true) @AutoConfigureOrder(0) @EnableConfigurationProperties(CompatibilityVerifierProperties.class) public class CompatibilityVerifierAutoConfiguration { @Bean CompositeCompatibilityVerifier compositeCompatibilityVerifier(List<CompatibilityVerifier> verifiers) { CompositeCompatibilityVerifier verifier = new CompositeCompatibilityVerifier(verifiers); verifier.verifyDependencies(); return verifier; } @Bean SpringBootVersionVerifier springBootVersionVerifier( CompatibilityVerifierProperties properties) { return new SpringBootVersionVerifier(properties.getCompatibleBootVersions()); } }
@AutoConfigureOrder(0) public class CommonsClientAutoConfiguration {
@Configuration @AutoConfigureOrder public static class UriResolverFallbackConfiguration { @Bean @ConditionalOnMissingBean public UriResolver uriResolver() { return new DefaultUriResolver(); } }
@Configuration @AutoConfigureOrder(Ordered.HIGHEST_PRECEDENCE) public class TracingConfiguration { @Bean public Sampler alwaysSampler() { return new AlwaysSampler(); } }
/** * @author will */ @Configuration @AutoConfigureOrder public class ContextHolderAutoConfiguration { @Bean @ConditionalOnMissingBean @ConditionalOnProperty(prefix = "system.context-holder", name = "enabled", havingValue = "true") public ContextHolder applicationContextHolder() { return new ContextHolder(); } }
/** * @author jbellmann */ @Configuration @ConditionalOnClass(MetricRegistry.class) @AutoConfigureOrder(Ordered.LOWEST_PRECEDENCE) public class ZmonPostProcessorAutoConfiguration { @Bean public static ZmonRestFilterBeanPostProcessor zmonRestFilterBeanPostProcessor() { return new ZmonRestFilterBeanPostProcessor(); } }
@Configuration @ConditionalOnClass(ThinJarAppDeployer.class) @AutoConfigureOrder(Ordered.HIGHEST_PRECEDENCE) public class ThinJarAppDeployerAutoConfiguration { @Bean @ConditionalOnMissingBean(AppDeployer.class) public AppDeployer appDeployer() { return new ThinJarAppDeployer(); } @Bean @ConditionalOnMissingBean(TaskLauncher.class) public TaskLauncher taskLauncher() { return new ThinJarTaskLauncher(); } }
/** * AutoConfiguration for the {@link KubernetesDataFlowServer} * * @author Thomas Risberg */ @Configuration @AutoConfigureOrder(Ordered.HIGHEST_PRECEDENCE) public class KubernetesDataFlowServerAutoConfiguration { @Bean public DelegatingResourceLoader delegatingResourceLoader(MavenProperties mavenProperties) { DockerResourceLoader dockerLoader = new DockerResourceLoader(); MavenResourceLoader mavenLoader = new MavenResourceLoader(mavenProperties); Map<String, ResourceLoader> loaders = new HashMap<>(); loaders.put("docker", dockerLoader); loaders.put("maven", mavenLoader); return new DelegatingResourceLoader(loaders); } }
@Configuration @AutoConfigureOrder @ConditionalOnClass(AmazonDynamoDB.class) @ConditionalOnProperty(name = "embedded.dynamodb.enabled", matchIfMissing = true) public class EmbeddedDynamoDBDependenciesAutoConfiguration { @Configuration public static class EmbeddedMariaDbDataSourceDependencyContext { @Bean public BeanFactoryPostProcessor dynamodbDependencyPostProcessor() { return new DependsOnPostProcessor(AmazonDynamoDB.class, new String[]{BEAN_NAME_EMBEDDED_DYNAMODB}); } } }
@Configuration @AutoConfigureOrder @ConditionalOnClass(CamelContext.class) @ConditionalOnProperty(value = {"embedded.kafka.enabled", "embedded.zookeeper.enabled"}, havingValue = "true", matchIfMissing = true) @AutoConfigureAfter(name = "org.apache.camel.spring.boot.CamelAutoConfiguration") public class EmbeddedKafkaCamelAutoConfiguration { @Bean public BeanFactoryPostProcessor kafkaCamelDependencyPostProcessor() { return new DependsOnPostProcessor(CamelContext.class, new String[]{KAFKA_BEAN_NAME, ZOOKEEPER_BEAN_NAME}); } }
@Configuration @AutoConfigureOrder @ConditionalOnClass(Client.class) @ConditionalOnProperty(name = "embedded.elasticsearch.enabled", matchIfMissing = true) @AutoConfigureAfter(name = "org.springframework.boot.autoconfigure.data.elasticsearch.ElasticsearchAutoConfiguration") public class EmbeddedElasticSearchDependenciesAutoConfiguration { @Bean public BeanFactoryPostProcessor elasticClientDependencyPostProcessor() { return new DependsOnPostProcessor(Client.class, new String[]{BEAN_NAME_EMBEDDED_ELASTIC_SEARCH}); } }
@Configuration @AutoConfigureOrder @ConditionalOnClass(DataSource.class) @ConditionalOnProperty(name = "embedded.postgresql.enabled", matchIfMissing = true) @AutoConfigureAfter(name = "org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration") public class EmbeddedPostgreSQLDependenciesAutoConfiguration { @Bean public BeanFactoryPostProcessor datasourceDependencyPostProcessor() { return new DependsOnPostProcessor(DataSource.class, new String[]{BEAN_NAME_EMBEDDED_POSTGRESQL}); } }
/** * Spring 自定义工具的自动配置 * * @author trang */ @Configuration @AutoConfigureOrder @Slf4j public class ApplicationContextAutoConfiguration { @Bean @ConditionalOnMissingBean @ConditionalOnProperty(prefix = "spring.context-holder", name = "enabled", havingValue = "true", matchIfMissing = true) public ApplicationContextHolder applicationContextHolder() { return new ApplicationContextHolder(); } }
@Configuration @AutoConfigureOrder @ConditionalOnClass(DataSource.class) @ConditionalOnProperty(name = "embedded.voltdb.enabled", matchIfMissing = true) @AutoConfigureAfter(name = "org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration") public class EmbeddedVoltDBDependenciesAutoConfiguration { @Configuration public static class EmbeddedVoltDBDataSourceDependencyContext { @Bean public BeanFactoryPostProcessor datasourceDependencyPostProcessor() { return new DependsOnPostProcessor(DataSource.class, new String[]{BEAN_NAME_EMBEDDED_VOLTDB}); } } }
@Configuration @AutoConfigureOrder @ConditionalOnClass(DataSource.class) @ConditionalOnProperty(name = "embedded.memsql.enabled", matchIfMissing = true) @AutoConfigureAfter(name = "org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration") public class EmbeddedMemSqlDependenciesAutoConfiguration { @Configuration public static class EmbeddedMemSqlSourceDependencyContext { @Bean public BeanFactoryPostProcessor datasourceDependencyPostProcessor() { return new DependsOnPostProcessor(DataSource.class, new String[]{BEAN_NAME_EMBEDDED_MEMSQL}); } } }
@Slf4j @Configuration @AutoConfigureOrder @ConditionalOnClass(AerospikeClient.class) @ConditionalOnProperty(value = "embedded.aerospike.enabled", matchIfMissing = true) public class EmbeddedAerospikeDependenciesAutoConfiguration { @Configuration protected static class AerospikeClientPostProcessorConfiguration { @Bean public BeanFactoryPostProcessor aerospikeClientDependencyPostProcessor() { return new DependsOnPostProcessor(AerospikeClient.class, new String[]{AEROSPIKE_BEAN_NAME}); } } }
@Configuration @AutoConfigureOrder @ConditionalOnClass(DataSource.class) @ConditionalOnProperty(name = "embedded.mariadb.enabled", matchIfMissing = true) @AutoConfigureAfter(name = "org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration") public class EmbeddedMariaDBDependenciesAutoConfiguration { @Configuration public static class EmbeddedMariaDbDataSourceDependencyContext { @Bean public BeanFactoryPostProcessor datasourceDependencyPostProcessor() { return new DependsOnPostProcessor(DataSource.class, new String[]{BEAN_NAME_EMBEDDED_MARIADB}); } } }