ConfigurationPropertiesRebinder doesn't rebind properties for a bean which was created during bootstrap phase

Abierto
#1,220 0 comentarios 5 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
35/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Estancado
Stack tecnológico
java, spring-boot
Área
backend

Línea de trabajo

Comience con spring-cloud-context/src/main/java/org/springframework/cloud/context/properties/ConfigurationPropertiesRebinder.java y la prueba de reproducción SpringCloudContextBugApplicationTests.shouldNotFailToUpdateApplicationPropertiesBean. Compare el comportamiento de rebind entre spring-cloud-commons 3.1.4 y 3.1.5 y, a continuación, ejecute la prueba referenciada. Se considera terminado cuando el bean @ConfigurationProperties creado por bootstrap recibe los valores de Spring Cloud obtenidos sin romper el comportamiento existente de rebinding.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

waiting-for-triage
Bug description

Version of spring-cloud-commons: 3.1.5 (in lower versions of spring-cloud-commons this bug doesn't occur)
Version of spring-boot: 2.7.9 (irrelevant)

When a bean using @ConfigurationProperties is created during bootstrap phase with values taken from bootstrap.yaml file, then the values of this bean's fields are not updated with properties fetched using spring-cloud.

Sample

I've created a repository which reproduces this bug: https://github.com/pitagoras3/spring-cloud-context-bug.

In this project, you can find a test SpringCloudContextBugApplicationTests.shouldNotFailToUpdateApplicationPropertiesBean which fails, when springCloudCommons version is >= 3.1.5.

Where is the problem?

After some debugging I've found out that rebind method in ConfigurationPropertiesRebinder had changed between versions 3.1.4 and 3.1.5. In my opinion the bug which I have described might be a side-effect of this specific change. In 3.1.5 version of spring-cloud-context my IncorrectProperties bean used in test is never destroyed and initialized again (as it was in version 3.1.4).

Lenguaje dominante
Java
Estrellas
751
Forks
748
Merge medio
1 d 1 h
PR fusionados (30 d)
17

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de spring-cloud/spring-cloud-commons

Todos los issues de spring-cloud/spring-cloud-commons

Issues similares

Más issues de Java

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.