如何将Spring DataSourceInitializer与@Primary和辅助DataSource bean一起使用?
我有一个场景,我希望有一个依赖于另一个DataSource
bean的@Primary DataSource
DataSource
bean。 当我这样做时,我当前遇到BeanCurrentlyInCreationException
exception,因为DataSourceInitializer
在仍在创建时触发@Primary
bean的解析。
我已经创建了一个示例存储库来重现此问题,并在有用的情况下更详细地解释它: https : //github.com/zachmarshall/spring-datasource-init-bug
为此创建了一个Spring Boot问题 。 有人承认代码至少有问题,但还没有真正的解决方案。
最终,我找到了一个解决方法 :
…通过在
@Primary
bean定义上使用@DependsOn("dataSourceInitializer")
,spring在主要标记为创建之前急切地创建dataSourceInitializer
bean。 有点黑客但现在有效。