我有一个场景,我想要一个依赖于另一个@Primary DataSource
bean的DataSource
bean。我在执行此操作时遇到BeanCurrentlyInCreationException
异常,因为DataSourceInitializer
会在@Primary
bean仍在创建时触发解析。
我已经创建了一个示例存储库,可以重现此问题并在有用的情况下更详细地解释它:https://github.com/zachmarshall/spring-datasource-init-bug
答案 0 :(得分:1)
A Spring Boot issue。有人承认代码至少有问题,但还没有真正的解决方案。
最终,我找到了workaround:
...通过在
@DependsOn("dataSourceInitializer")
bean定义上使用@Primary
,spring在主要标记为创建之前急切地创建dataSourceInitializer
bean。有点黑客但现在有效。