微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

即使在 spring.main.allow-bean-definition-overriding 设置为 true 之后,Spring Bean 异常

如何解决即使在 spring.main.allow-bean-definition-overriding 设置为 true 之后,Spring Bean 异常

我们在微服务环境中使用 Spring Boot + Spring Integration Framework,部署环境为 Tomcat VM。

即使在 application.properties 和 spring.main.allow-bean-deFinition-overriding 设置为 true 之后 云配置服务器 application.properties spring boot throws,

行动:

bean 'deleteQuery' 在 org.springframework.integration.dsl.StandardIntegrationFlow#114 bean 定义中定义,无法注册。已经定义了具有该名称的 bean 并且禁用了覆盖。

描述:

考虑重命名其中一个 bean 或通过设置 spring.main.allow-bean-deFinition-overriding=true 启用覆盖

子容器无法启动,出现以下异常:

ERROR ContainerBase - 一个子容器在启动过程中失败 java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: 无法启动组件 [StandardEngine[Tomcat].StandardHost[localhost].StandardContext 在 java.util.concurrent.FutureTask.report(FutureTask.java:122) [na:1.8.0_71] 在 java.util.concurrent.FutureTask.get(FutureTask.java:192) [na:1.8.0_71] 在 org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:916) ~[tomcat-embed-core-8.0.30.jar:8.0.30] 在 org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:871) [tomcat-embed-core-8.0.30.jar:8.0.30] 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) [tomcat-embed-core-8.0.30.jar:8.0.30]

不知道为什么 bean 被覆盖,因为它是由 3rd 方应用程序完成的..

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。