Commit c1b89089 authored by Jason Song's avatar Jason Song Committed by GitHub

Merge pull request #1809 from nobodyiam/add-get-order

implement Ordered for ApolloApplicationContextInitializer
parents 0ab823ce 52bcc8e3
...@@ -15,6 +15,7 @@ import org.springframework.boot.SpringApplication; ...@@ -15,6 +15,7 @@ import org.springframework.boot.SpringApplication;
import org.springframework.boot.env.EnvironmentPostProcessor; import org.springframework.boot.env.EnvironmentPostProcessor;
import org.springframework.context.ApplicationContextInitializer; import org.springframework.context.ApplicationContextInitializer;
import org.springframework.context.ConfigurableApplicationContext; import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.core.Ordered;
import org.springframework.core.env.CompositePropertySource; import org.springframework.core.env.CompositePropertySource;
import org.springframework.core.env.ConfigurableEnvironment; import org.springframework.core.env.ConfigurableEnvironment;
...@@ -54,7 +55,9 @@ import org.springframework.core.env.ConfigurableEnvironment; ...@@ -54,7 +55,9 @@ import org.springframework.core.env.ConfigurableEnvironment;
* *
*/ */
public class ApolloApplicationContextInitializer implements public class ApolloApplicationContextInitializer implements
ApplicationContextInitializer<ConfigurableApplicationContext> , EnvironmentPostProcessor { ApplicationContextInitializer<ConfigurableApplicationContext> , EnvironmentPostProcessor, Ordered {
public static final int DEFAULT_ORDER = 0;
private static final Logger logger = LoggerFactory.getLogger(ApolloApplicationContextInitializer.class); private static final Logger logger = LoggerFactory.getLogger(ApolloApplicationContextInitializer.class);
private static final Splitter NAMESPACE_SPLITTER = Splitter.on(",").omitEmptyStrings().trimResults(); private static final Splitter NAMESPACE_SPLITTER = Splitter.on(",").omitEmptyStrings().trimResults();
private static final String[] APOLLO_SYSTEM_PROPERTIES = {"app.id", ConfigConsts.APOLLO_CLUSTER_KEY, private static final String[] APOLLO_SYSTEM_PROPERTIES = {"app.id", ConfigConsts.APOLLO_CLUSTER_KEY,
...@@ -63,6 +66,8 @@ public class ApolloApplicationContextInitializer implements ...@@ -63,6 +66,8 @@ public class ApolloApplicationContextInitializer implements
private final ConfigPropertySourceFactory configPropertySourceFactory = SpringInjector private final ConfigPropertySourceFactory configPropertySourceFactory = SpringInjector
.getInstance(ConfigPropertySourceFactory.class); .getInstance(ConfigPropertySourceFactory.class);
private int order = DEFAULT_ORDER;
@Override @Override
public void initialize(ConfigurableApplicationContext context) { public void initialize(ConfigurableApplicationContext context) {
ConfigurableEnvironment environment = context.getEnvironment(); ConfigurableEnvironment environment = context.getEnvironment();
...@@ -159,4 +164,19 @@ public class ApolloApplicationContextInitializer implements ...@@ -159,4 +164,19 @@ public class ApolloApplicationContextInitializer implements
} }
} }
/**
* @since 1.3.0
*/
@Override
public int getOrder() {
return order;
}
/**
* @since 1.3.0
*/
public void setOrder(int order) {
this.order = order;
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment