Browse Source

Fixed order of the `BootstrapConfigFileApplicationListener` so that it always runs after the `ConfigDataEnvironmentPostProcessor` (#1213)

* Changed order of `BootstrapConfigFileApplicationListener`

Previously `BootstrapConfigFileApplicationListener` had the same order
as `ConfigDataEnvironmentPostProcessor`. This made it indeterminable
which one would run first. However, the
`BootstrapConfigFileApplicationListener` relies on the
`ConfigDataEnvironmentPostProcessor` to make sure the
`Environment.activeProfiles` are correctly set, so it must always run
after the `ConfigDataEnvironmentPostProcessor`.

* Using `Math.addExact` for adding one to the `ConfigDataEnvironmentPostProcessor.DEFAULT_ORDER` so that any accidental overflow results in an exception
pull/1291/head
Maurice Zeijen 1 year ago committed by GitHub
parent
commit
9ea5801529
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 5
      spring-cloud-context/src/main/java/org/springframework/cloud/bootstrap/BootstrapConfigFileApplicationListener.java

5
spring-cloud-context/src/main/java/org/springframework/cloud/bootstrap/BootstrapConfigFileApplicationListener.java

@ -166,7 +166,10 @@ public class BootstrapConfigFileApplicationListener @@ -166,7 +166,10 @@ public class BootstrapConfigFileApplicationListener
/**
* The default order for the processor.
*/
public static final int DEFAULT_ORDER = Ordered.HIGHEST_PRECEDENCE + 10;
public static final int DEFAULT_ORDER =
// This listener needs to run after the `ConfigDataEnvironmentPostProcessor` to
// make sure the `Environment.activeProfiles` are correctly set
Math.addExact(ConfigDataEnvironmentPostProcessor.ORDER, 1);
private final Log logger;

Loading…
Cancel
Save