La aplicación falla durante el inicio con este error:

The bean 'requestDataValueProcessor', defined in class path resource [org/springframework/security/config/annotation/web/configuration/WebMvcSecurityConfiguration.class], could not be registered. A bean with that name has already been defined in class path resource [org/springframework/security/config/annotation/web/reactive/WebFluxSecurityConfiguration.class] and overriding is disabled.

Todos los miembros del equipo tienen el mismo problema y parece que incluso si estamos revisando una etiqueta git antigua, el mismo problema persiste. Hemos comprobado todos los archivos de compilación y las dependencias, y nada parecía haber cambiado en el último período de tiempo. Lo que es aún más interesante es que Bamboo parecía ejecutar la compilación y el paquete de TI con éxito el día anterior, pero hoy por la mañana parece que el mismo problema se replica allí.

No estoy seguro exactamente por qué se queja de WebMvcSecurityConfiguration , ya que solo usamos seguridad reactiva en nuestro proyecto. Entonces, en este punto, no tenemos dependencias spring-mvc.

Alguien tiene alguna idea ? Gracias

0
brebDev 24 jun. 2020 a las 20:45

2 respuestas

Entonces, después de habilitar los registros de nivel de depuración en spring y forzar la aplicación de spring para usar solo las configuraciones reactivas como esta:

 spring:
  main:
   web-application-type: reactive

Parecía que las dependencias de springfox estaban fallando con:

 java.lang.NoSuchMethodError: org.springframework.util.MultiValueMap.addIfAbsent(Ljava/lang/Object;Ljava/lang/Object;)V
at springfox.documentation.spring.web.scanners.ModelSpecificationRegistryBuilder.lambda$add$0(ModelSpecificationRegistryBuilder.java:37)
at java.base/java.util.Optional.ifPresent(Optional.java:183)
at springfox.documentation.spring.web.scanners.ModelSpecificationRegistryBuilder.add(ModelSpecificationRegistryBuilder.java:34)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1540)
at

Entonces ese error ^^^ nos apunta a las dependencias de sprinfox que fueron:

compile ("io.springfox:springfox-swagger-ui:3.0.0-SNAPSHOT")
compile ("io.springfox:springfox-swagger2:3.0.0-SNAPSHOT")
compile ("io.springfox:springfox-spring-webflux:3.0.0-SNAPSHOT")

Después de una investigación adicional, parecía que algunos de ellos contienen la dependencia spring-mvc y que interfieren con el spring-webflux, y la aplicación se confundió con los beans que inyectar.

Hemos rebajado esas dependencias a 2.10.0 , y todo parece funcionar ahora. Supongo que han hecho algunos lanzamientos con esa versión de instantánea y que incluyen spring mvc, pero hasta ahora estaba ausente. Lección aprendida, nunca use algunas versiones de instantáneas de bibliotecas externas, de lo contrario podría terminar en una situación muy mala.

0
brebDev 25 jun. 2020 a las 07:53

Las dependencias X.X.X-SNAPSHOT no son las estables. estábamos usando 3.0.0-SNAPSHOT que de repente dejó de funcionar. Entonces, la solución a continuación funcionó para nosotros.

2.10.5

¡¡Salud!!

0
Aman Goel 25 jun. 2020 a las 16:52