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
This commit is contained in:
Maurice Zeijen
2023-10-12 21:35:01 +02:00
committed by Ryan Baxter
parent 01098128f1
commit a7876333d3

View File

@@ -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;