Java 弹簧靴执行器滑道';不能使用多个Flyway bean

Java 弹簧靴执行器滑道';不能使用多个Flyway bean,java,spring-boot,spring-boot-actuator,Java,Spring Boot,Spring Boot Actuator,我正在尝试将目前正在进行的项目从SpringBoot1.2.8升级到最新版本(1.4.0)。我发现,自1.3.0版以来,Spring启动执行器将Flyway迁移公开为执行器端点。此端点将单个Flyway bean作为参数 我的项目使用多个Flyway bean来管理多个数据库的迁移,当我尝试启动应用程序时,Spring抱怨出现了NonuniqueBeandDefinitionException 禁用EndpointAutoconfiguration时,将正确创建上下文。此时我不一定需要Flyw

我正在尝试将目前正在进行的项目从SpringBoot1.2.8升级到最新版本(1.4.0)。我发现,自1.3.0版以来,Spring启动执行器将Flyway迁移公开为执行器端点。此端点将单个Flyway bean作为参数

我的项目使用多个Flyway bean来管理多个数据库的迁移,当我尝试启动应用程序时,Spring抱怨出现了NonuniqueBeandDefinitionException

禁用EndpointAutoconfiguration时,将正确创建上下文。此时我不一定需要Flyway端点,但我们确实使用其他端点进行监视,因此我不想禁用所有端点。我已尝试使用禁用application.properties文件中的flyway端点

endpoints.flyway.enabled=false
但是Spring仍然抱怨(我认为它无论如何都会尝试创建端点bean,并且“enabled”属性用于确定端点在运行时的可用性)

我认为目前我唯一的选择是手动启用我需要的端点并禁用自动配置。是这样吗

还有,为什么FlywayEndpoint只与一个Flyway bean一起工作?据我所知,构造函数可以只获取Flyway bean的列表,然后invoke()方法可以对它们进行迭代

我认为目前我唯一的选择是手动启用我需要的端点并禁用自动配置。是这样吗

是的,我想是的。你看到的行为是一个错误,所以我打开了。我们将在1.4.1和1.3.8中修复它

还有,为什么FlywayEndpoint只与一个Flyway bean一起工作

除了我们没有考虑过您的用例之外,没有其他原因。我已经为端点打开了支持多个Flyway bean(Liquibase也是如此)。

404单击