MicroProfile Config
According to the 12-factor app document drawn up by the people at Heroku, an externalized application configuration is an essential part of being cloud-native. Think of a URL and the credentials to a database. In container environments, this is mostly achieved by setting environment variables.
MicroProfile Config is meant for this and supports a lot more configuration options than just environment variables.
It supports a hierarchy of locations to look for configuration values. Each of these locations has an ordinal value, and higher-valued locations take precedence over lower-valued ones.
These locations are called ConfigSources. Three ConfigSources
are required by the standard:
- A property file,
META-INF/microprofile-config.properties
(100) - Environment variables (300)
- System properties (400)
The number between brackets is the ordinal value, so system properties have the highest priority. Accessing these system properties in your...