Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

160
Visualizações
spring-cloud-starter-config POST /env no funciona

Tengo una pequeña aplicación web Spring Boot (jar ejecutable) que tiene algunas propiedades personalizadas dentro del archivo application.properties. Mi objetivo es poder modificar dinámicamente estas propiedades en tiempo de ejecución sin tener que ejecutar una compilación/implementación o reiniciar el proceso de Java. El proyecto spring-cloud-starter-config parece ser adecuado para esto (aunque no estoy usando un servidor de configuración), pero me encontré con el siguiente problema:

En mi pom.xml incluyo dependencias para spring-boot-starter-actuator y spring-cloud-starter-config. La aplicación.propiedades configura las siguientes propiedades

 management.port=8081 management.context-path=/management management.security.enabled=false foo=bar

Puedo leer las variables usando

 curl http://localhost:8081/management/env/foo {"foo":"bar"}

La actualización a continuación parece tener éxito también

 curl -X POST -d foo=foo http://localhost:8081/management/env {"foo":"foo"}

Cuando consulto todo el entorno, veo el valor modificado en la sección del administrador y el valor original dentro de applicationConfig

 curl http://localhost:8081/management/env { ... "manager": { "foo": "foo" }, ... "configServerClient": { "spring.cloud.config.enabled": "false" }, ... "applicationConfig: [classpath:/application.properties]": { ... "foo": "bar", ... } }

Ahora, cuando vuelvo a consultar la variable, todavía obtengo el valor anterior

 curl http://localhost:8081/management/env/foo {"foo":"bar"}

Esto es contrario a lo que leo en algunos blogs web. Según tengo entendido, el valor modificado debería aparecer. ¿Qué estoy haciendo mal? ¿Hay una mejor manera de cambiar dinámicamente los valores en application.properties sin reiniciar el servidor?

Su ayuda es muy apreciada.

about 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Debe ejecutar la actualización después de publicar cambios en env

 curl -X POST http://localhost:8081/management/refresh
about 4 years ago · Santiago Trujillo Relatório

0

para mi solo funciona con

 curl -H "Content-Type: application/json" -X POST -d '{"name":"foo", "value":"bar"}' http://localhost:8081/management/env/

de lo contrario obtengo

 "Missing parameters: value,name"
about 4 years ago · Santiago Trujillo Relatório

0

Si está utilizando una versión Spring Boot superior a 2.2.4, debe habilitar manualmente la llamada a la API POST utilizando la siguiente propiedad.

administración.endpoint.env.post.enabled=true

about 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda