MicroProfile Config
This module is simple yet powerful at the same time. Following the 12-Factor principles, it allows us to separate the configuration values from our code, so we won’t need to repackage the application each time the underlying runtime environment changes.
Este módulo es simple pero poderoso al mismo tiempo. Siguiendo los 12-Factor principles, nos permite separar los valores de configuración de nuestro código, por lo que no necesitaremos volver a empaquetar la aplicación cada vez que cambie el entorno de tiempo de ejecución subyacente.
message.hello = Hello to MP-Config stockservice.api.url = http://localhost:8080/stock-service/api
@Path("/hello") public class HelloResource { @Inject @ConfigProperty(name = "message.hello") private String message; @GET public String message(){ return message; } }
Accesando al endpoint /api/hello
, veremos este mensaje.
Otro uso del módulo MicroProfile Config es inyectar la url de otros servicios que nuestra aplicación necesita consumir.
@Inject @ConfigProperty(name = "stockservice.api.url") private String apiUrl;
MicroProfile Config buscará en las propiedades del sistema, las variables de entorno y el archivo microprofile-config.properties el valor que se va a inyectar. En un entorno en contenedores, es posible que deseemos utilizar variables de entorno para completar los valores de configuración de nuestra aplicación.