如何将Spring DataSourceInitializer与@Primary和辅助DataSource bean一起使用?

时间:2017-05-30 20:46:24

标签: java spring spring-boot spring-jdbc

我有一个场景,我想要一个依赖于另一个@Primary DataSource bean的DataSource bean。我在执行此操作时遇到BeanCurrentlyInCreationException异常,因为DataSourceInitializer会在@Primary bean仍在创建时触发解析。

我已经创建了一个示例存储库,可以重现此问题并在有用的情况下更详细地解释它:https://github.com/zachmarshall/spring-datasource-init-bug

1 个答案:

答案 0 :(得分:1)

为此创建了

A Spring Boot issue。有人承认代码至少有问题,但还没有真正的解决方案。

最终,我找到了workaround

  

...通过在@DependsOn("dataSourceInitializer") bean定义上使用@Primary,spring在主要标记为创建之前急切地创建dataSourceInitializer bean。有点黑客但现在有效。