2017-05-30 80 views
0

我有一个场景,我想要一个@Primary DataSource bean,它依赖于另一个DataSource bean。当我这样做时,我正遇到BeanCurrentlyInCreationException异常,因为DataSourceInitializer在创建时触发了@Primary bean的解析。如何将Spring DataSourceInitializer与@Primary和Secondary DataSource bean一起使用?

我创建了重现这个问题,并解释比较详细,如果有帮助的一个例子库:https://github.com/zachmarshall/spring-datasource-init-bug

+0

你有没有尝试在类'@Bean(name =“primDataSource”)''ExampleConfig'类中命名'primaryDataSource'的bean,而不是Spring容器实例化的bean? – harshavmb

+0

感谢您的评论@harshavmb。不幸的是,改变bean名称不起作用。 – Zach

回答

0

A Spring Boot issue为这个创建的。有人承认,代码至少存在问题,但还没有真正的解决方案。

最终,我没有找到一个workaround:通过在@Primary bean定义使用@DependsOn("dataSourceInitializer")

...,春天急切地创建dataSourceInitializer豆主要被标记为创建之前。一种黑客,但现在工作。

相关问题