es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo acceder a múltiples archivos application.yml desde diferentes servicios en el servidor de configuración (Spring)

He configurado “configure-server” obteniendo toda la configuración desde el repositorio de GitLab.
Actualmente, cuando la aplicación (config-server) se inicia, obtiene todas las propiedades de aplicación en el repositorio de Git.

En caso de tener dos aplicaciones cliente, A y B,
que tienen diferentes propiedades de aplicación como estas:

  • aplication-a.yml
  • aplication-b.yml

Cuando se inicia la aplicación A, solo quiero que configure-service obtenga el archivo application-a.yml del repositorio de Git.

Aquí está la configuración de la aplicación:

Configure Server

server:
  port: 9000
spring:
  application:
    name: CONFIG-SERVER
  cloud:
    config:
      server:
        git:
          uri: https://gitlab.com/mama/cloud-configure-server.git
          clone-on-start: true
          default-label: main

Application A

spring:
  cloud:
    config:
      enabled: true
      uri: http://localhost:9000

¿Cómo se puede indicar a configure-service que obtenga solo el archivo application-a.yml del repositorio de Git? En caso de no querer obtener todos los archivos.

¡Gracias!

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para indicar a configure-service que solo obtenga el archivo application-a.yml del repositorio git, puedes especificar el perfil utilizando la propiedad “spring.cloud.config.name” en la configuración de la Aplicación A:

    spring:
      cloud:
        config:
          enabled: true
          uri: http://localhost:9000
          name: application-a
    

    Esto indicará a configure-service que solo obtenga el archivo application-a.yml del repositorio git. Si tienes varios perfiles, puedes especificarlos utilizando valores separados por comas:

    spring:
      cloud:
        config:
          enabled: true
          uri: http://localhost:9000
          name: application-a,profile1,profile2
    

    Esto obtendrá los archivos application-a.yml, application-a-profile1.yml y application-a-profile2.yml del repositorio git.

    Si no quieres obtener todos los archivos, también puedes especificar el archivo específico que deseas obtener utilizando la propiedad “spring.cloud.config.server.git.searchPaths” en la configuración del Configure Server:

    spring:
      application:
        name: CONFIG-SERVER
      cloud:
        config:
          server:
            git:
              uri: https://gitlab.com/mama/cloud-configure-server.git
              clone-on-start: true
              default-label: main
              search-paths: application-a.yml
    

    Esto indicará al Configure Server que solo obtenga el archivo application-a.yml del repositorio git.

Comments are closed.