Add @Order annotations to conditions
Fixes gh-1574
This commit is contained in:
@@ -27,6 +27,8 @@ import org.springframework.context.annotation.Condition;
|
||||
import org.springframework.context.annotation.ConditionContext;
|
||||
import org.springframework.context.annotation.Conditional;
|
||||
import org.springframework.context.annotation.ConfigurationCondition;
|
||||
import org.springframework.core.Ordered;
|
||||
import org.springframework.core.annotation.Order;
|
||||
import org.springframework.core.type.AnnotatedTypeMetadata;
|
||||
import org.springframework.core.type.AnnotationMetadata;
|
||||
import org.springframework.core.type.classreading.MetadataReaderFactory;
|
||||
@@ -58,6 +60,7 @@ import org.springframework.util.StringUtils;
|
||||
* @author Phillip Webb
|
||||
* @since 1.2.0
|
||||
*/
|
||||
@Order(Ordered.LOWEST_PRECEDENCE - 20)
|
||||
public abstract class AnyNestedCondition extends SpringBootCondition implements
|
||||
ConfigurationCondition {
|
||||
|
||||
|
||||
@@ -37,7 +37,9 @@ import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Condition;
|
||||
import org.springframework.context.annotation.ConditionContext;
|
||||
import org.springframework.context.annotation.ConfigurationCondition;
|
||||
import org.springframework.core.Ordered;
|
||||
import org.springframework.core.ResolvableType;
|
||||
import org.springframework.core.annotation.Order;
|
||||
import org.springframework.core.type.AnnotatedTypeMetadata;
|
||||
import org.springframework.core.type.MethodMetadata;
|
||||
import org.springframework.util.Assert;
|
||||
@@ -54,6 +56,7 @@ import org.springframework.util.StringUtils;
|
||||
* @author Dave Syer
|
||||
* @author Jakub Kubrynski
|
||||
*/
|
||||
@Order(Ordered.LOWEST_PRECEDENCE)
|
||||
class OnBeanCondition extends SpringBootCondition implements ConfigurationCondition {
|
||||
|
||||
/**
|
||||
|
||||
@@ -22,6 +22,8 @@ import java.util.List;
|
||||
|
||||
import org.springframework.context.annotation.Condition;
|
||||
import org.springframework.context.annotation.ConditionContext;
|
||||
import org.springframework.core.Ordered;
|
||||
import org.springframework.core.annotation.Order;
|
||||
import org.springframework.core.type.AnnotatedTypeMetadata;
|
||||
import org.springframework.util.ClassUtils;
|
||||
import org.springframework.util.MultiValueMap;
|
||||
@@ -34,6 +36,7 @@ import org.springframework.util.StringUtils;
|
||||
* @see ConditionalOnClass
|
||||
* @see ConditionalOnMissingClass
|
||||
*/
|
||||
@Order(Ordered.HIGHEST_PRECEDENCE)
|
||||
class OnClassCondition extends SpringBootCondition {
|
||||
|
||||
@Override
|
||||
|
||||
@@ -21,6 +21,8 @@ import org.springframework.beans.factory.config.BeanExpressionResolver;
|
||||
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
|
||||
import org.springframework.context.annotation.ConditionContext;
|
||||
import org.springframework.context.expression.StandardBeanExpressionResolver;
|
||||
import org.springframework.core.Ordered;
|
||||
import org.springframework.core.annotation.Order;
|
||||
import org.springframework.core.type.AnnotatedTypeMetadata;
|
||||
import org.springframework.core.type.ClassMetadata;
|
||||
|
||||
@@ -30,6 +32,7 @@ import org.springframework.core.type.ClassMetadata;
|
||||
* @author Dave Syer
|
||||
* @see ConditionalOnExpression
|
||||
*/
|
||||
@Order(Ordered.LOWEST_PRECEDENCE - 20)
|
||||
class OnExpressionCondition extends SpringBootCondition {
|
||||
|
||||
@Override
|
||||
|
||||
@@ -22,6 +22,8 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnJava.JavaVe
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnJava.Range;
|
||||
import org.springframework.context.annotation.Condition;
|
||||
import org.springframework.context.annotation.ConditionContext;
|
||||
import org.springframework.core.Ordered;
|
||||
import org.springframework.core.annotation.Order;
|
||||
import org.springframework.core.type.AnnotatedTypeMetadata;
|
||||
|
||||
/**
|
||||
@@ -32,6 +34,7 @@ import org.springframework.core.type.AnnotatedTypeMetadata;
|
||||
* @see ConditionalOnJava
|
||||
* @since 1.1.0
|
||||
*/
|
||||
@Order(Ordered.HIGHEST_PRECEDENCE + 20)
|
||||
class OnJavaCondition extends SpringBootCondition {
|
||||
|
||||
private static final JavaVersion JVM_VERSION = JavaVersion.getJavaVersion();
|
||||
|
||||
@@ -20,7 +20,9 @@ import javax.naming.NamingException;
|
||||
|
||||
import org.springframework.context.annotation.Condition;
|
||||
import org.springframework.context.annotation.ConditionContext;
|
||||
import org.springframework.core.Ordered;
|
||||
import org.springframework.core.annotation.AnnotationAttributes;
|
||||
import org.springframework.core.annotation.Order;
|
||||
import org.springframework.core.type.AnnotatedTypeMetadata;
|
||||
import org.springframework.jndi.JndiLocatorDelegate;
|
||||
import org.springframework.jndi.JndiLocatorSupport;
|
||||
@@ -33,6 +35,7 @@ import org.springframework.util.StringUtils;
|
||||
* @since 1.2.0
|
||||
* @see ConditionalOnJndi
|
||||
*/
|
||||
@Order(Ordered.LOWEST_PRECEDENCE - 20)
|
||||
class OnJndiCondition extends SpringBootCondition {
|
||||
|
||||
@Override
|
||||
|
||||
@@ -18,6 +18,8 @@ package org.springframework.boot.autoconfigure.condition;
|
||||
|
||||
import org.springframework.context.annotation.Condition;
|
||||
import org.springframework.context.annotation.ConditionContext;
|
||||
import org.springframework.core.Ordered;
|
||||
import org.springframework.core.annotation.Order;
|
||||
import org.springframework.core.type.AnnotatedTypeMetadata;
|
||||
import org.springframework.util.ClassUtils;
|
||||
import org.springframework.util.ObjectUtils;
|
||||
@@ -32,6 +34,7 @@ import org.springframework.web.context.support.StandardServletEnvironment;
|
||||
* @see ConditionalOnWebApplication
|
||||
* @see ConditionalOnNotWebApplication
|
||||
*/
|
||||
@Order(Ordered.HIGHEST_PRECEDENCE + 20)
|
||||
class OnWebApplicationCondition extends SpringBootCondition {
|
||||
|
||||
private static final String WEB_CONTEXT_CLASS = "org.springframework.web.context."
|
||||
|
||||
@@ -39,6 +39,8 @@ import org.springframework.context.annotation.ConditionContext;
|
||||
import org.springframework.context.annotation.Conditional;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.context.annotation.Import;
|
||||
import org.springframework.core.Ordered;
|
||||
import org.springframework.core.annotation.Order;
|
||||
import org.springframework.core.type.AnnotatedTypeMetadata;
|
||||
import org.springframework.jdbc.core.JdbcOperations;
|
||||
import org.springframework.jdbc.core.JdbcTemplate;
|
||||
@@ -189,6 +191,7 @@ public class DataSourceAutoConfiguration {
|
||||
* {@link Condition} to detect when a {@link DataSource} is available (either because
|
||||
* the user provided one or because one will be auto-configured)
|
||||
*/
|
||||
@Order(Ordered.LOWEST_PRECEDENCE - 10)
|
||||
static class DataSourceAvailableCondition extends SpringBootCondition {
|
||||
|
||||
private final SpringBootCondition nonEmbedded = new NonEmbeddedDataSourceCondition();
|
||||
|
||||
@@ -36,6 +36,8 @@ import org.springframework.boot.orm.jpa.hibernate.SpringJtaPlatform;
|
||||
import org.springframework.context.annotation.ConditionContext;
|
||||
import org.springframework.context.annotation.Conditional;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.core.Ordered;
|
||||
import org.springframework.core.annotation.Order;
|
||||
import org.springframework.core.type.AnnotatedTypeMetadata;
|
||||
import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
|
||||
import org.springframework.orm.jpa.vendor.AbstractJpaVendorAdapter;
|
||||
@@ -92,6 +94,7 @@ public class HibernateJpaAutoConfiguration extends JpaBaseConfiguration {
|
||||
}
|
||||
}
|
||||
|
||||
@Order(Ordered.HIGHEST_PRECEDENCE + 20)
|
||||
static class HibernateEntityManagerCondition extends SpringBootCondition {
|
||||
|
||||
private static String[] CLASS_NAMES = {
|
||||
|
||||
@@ -96,6 +96,7 @@ public class DispatcherServletAutoConfiguration {
|
||||
|
||||
}
|
||||
|
||||
@Order(Ordered.LOWEST_PRECEDENCE - 10)
|
||||
private static class DefaultDispatcherServletCondition extends SpringBootCondition {
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user