En nuestro servidor de configuración tenemos los siguientes archivos de propiedades de la aplicación:
helloApp-dev.properties //dev env properties helloApp-commonConfig.properties //common properties across envLas propiedades son accesibles desde URI como:
https://myapp.abc.com/1234/helloApp-dev.properties https://myapp.abc.com/1234/helloApp-commonConfig.propertiesA continuación se muestra nuestro archivo bootstrap.yml de la aplicación helloApp:
--- spring: application: name: helloApp --- spring profiles: dev cloud: config: label: 1234 name: {spring.application.name} uri: https://myapp.abc.com/Estoy usando Spring boot versión 2.2.4. helloApp-dev.properties se están cargando correctamente en la aplicación, pero no en commonConfig.
Para cargar el archivo de propiedades, los perfiles deben coincidir. Tienes 2 soluciones:
La configuración en commonConfig no se está cargando porque no le está indicando a Spring que debe cargar ese perfil/configuración, porque está dev solo el perfil de desarrollo, y la configuración para ese perfil es la que se está cargando:
--- spring profiles: dev Además de las buenas soluciones propuestas por @akozintsov en su respuesta, si necesita incluir cierta configuración común en diferentes entornos o perfiles, digamos dev , qa o prod , puede usar la propiedad de configuración spring.profiles.include y incluya, como una lista de valores separados por comas, si usa archivos de properties , o como una lista, si usa yaml, los diferentes perfiles comunes y las configuraciones correspondientes que necesita.
En su ejemplo, en helloApp-dev.properties necesita incluir la siguiente información dentro del resto de su configuración:
spring.profiles.include=commonConfigEstas preguntas SO relacionadas y este artículo también podrían ser de ayuda.