| |
| = MicroProfile Config |
| :index-group: MicroProfile |
| :jbake-type: page |
| :jbake-status: published |
| |
| Este es un ejemplo de cómo usar la configuración de microprofile en TomEE. |
| |
| == Ejecutar la aplicación: |
| |
| [source,bash] |
| ---- |
| mvn clean install tomee:run |
| ---- |
| |
| == microprofile-config.properties |
| Este es el archivo que contiene los valores a ser interpretados por MP Config. |
| |
| == API |
| |
| Hay tres formas de inyectar valores en la aplicación usando configuración. |
| |
| 1 . Para Valores por defecto con ConfigProperty ejecutar: |
| |
| ---- |
| GET http://localhost:8080/mp-config-example/sample/defaultProperty |
| ---- |
| |
| 2 . Para obtener propiedades inyectadas con ConfigProperty ejecutar: |
| ---- |
| GET http://localhost:8080/mp-config-example/sample/injectedJavaVersion |
| ---- |
| |
| 3 . Para obtener una propiedad desde Config con getValue ejecutar: |
| ---- |
| GET http://localhost:8080/mp-config-example/sample/javaVersion |
| ---- |
| |
| == Características de Config |
| |
| MicroProfile Config es una solución que permite externalizar la configuración de los microservicios. Cada propiedad |
| puede ser inyectada directamente de forma individual. |
| |
| [source,java,numbered] |
| ---- |
| @Inject |
| @ConfigProperty(name = "java.runtime.version") |
| private String javaVersion; |
| ---- |
| |
| |
| Es posible establecer valores por defecto aún cuando la propiedad no está definida en el contexto, por tanto se usará la configuración por defecto. |
| |
| [source,java,numbered] |
| ---- |
| @Inject |
| @ConfigProperty(name = "defaultProperty", defaultValue = "ALOHA") |
| private String defaultProperty; |
| ---- |
| |
| El objeto Config puede también ser inyectado, de manera que se puede invocar el método getValue() para obtener una propiedad particular. |
| |
| [source,java,numbered] |
| ---- |
| @Inject |
| private Config config; |
| |
| @GET |
| @Path("javaVersion") |
| public String getJavaVersionPropertyFromSystemProperties() { |
| return config.getValue("java.runtime.version", String.class); |
| } |
| ---- |