two sources primary name multiple many data bean java spring spring-boot spring-jdbc

java - sources - two datasource spring boot



¿Cómo se puede utilizar un Spring DataSourceInitializer con un bean DataSource @Primary y otro secundario? (1)

Se creó un problema de Spring Boot para esto. Se reconoció que el código es al menos problemático, pero aún no hay una resolución real.

Al final, encontré una solución :

... utilizando @DependsOn("dataSourceInitializer") en la definición de @Primary bean, el resorte crea ansiosamente el bean dataSourceInitializer antes de que el primario se marque como en la creación. Es un truco pero funciona por ahora.

Tengo un escenario en el que me gustaría tener un bean @Primary DataSource que dependa de otro bean DataSource . Actualmente me encuentro con una excepción BeanCurrentlyInCreationException cuando hago esto porque el DataSourceInitializer desencadena la resolución del @Primary Bean mientras todavía se está creando.

Creé un repositorio de ejemplo que reproduce este problema y lo explica con más detalle, si es útil: https://github.com/zachmarshall/spring-datasource-init-bug