tomcat版本升级-启动报错

这篇具有很好参考价值的文章主要介绍了tomcat版本升级-启动报错。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、报错信息:

Error creating bean with name 'eurekaAutoServiceRegistration': Singleton bean creation not allowed while singletons of this factory are in destruction (Do not request a bean from a BeanFactory in a destroy method implementation!)

2、报错原因:

根本原因是关闭 ApplicationContext 时, 它将销毁所有单例 bean, eurekaAutoServiceRegistration 首先销毁, 然后销毁feignContext. 销毁 feignContext 时, 它将关闭与每个 FeignClient 关联的 ApplicationContext. 由于eurekaAutoServiceRegistration 监听 ContextClosedEvent, 因此这些事件将发送到该bean. 不幸的是, 由于它已被销毁, 因此我们得到了上述异常(尝试在销毁中创建 bean )文章来源地址https://www.toymoban.com/news/detail-548105.html

3、解决方案:

@Component
public class FeignBeanFactoryPostProcessor implements BeanFactoryPostProcessor {

    @Override
    public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {
        if (containsBeanDefinition(beanFactory, "feignContext", "eurekaAutoServiceRegistration")) {
          	/* 调整依赖顺序,这样会先销毁 feignContext, 再销毁 eurekaAutoServiceRegistration */
            BeanDefinition bd = beanFactory.getBeanDefinition("feignContext");
            bd.setDependsOn("eurekaAutoServiceRegistration");
        }
   }

   private boolean containsBeanDefinition(ConfigurableListableBeanFactory beanFactory, String... beans) {
       return Arrays.stream(beans).allMatch(b -> beanFactory.containsBeanDefinition(b));
   }
}

到了这里,关于tomcat版本升级-启动报错的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SpringBoot内嵌Tomcat版本升级步骤

    由于Apache Commons FileUpload对请求部分要处理的数量未做限制,导致攻击者可以利用此漏洞恶意上传或一系列上传触发拒绝服务。 Apache Tomcat由于使用Apache Commons FileUpload的打包重命名副本来提供Jakarta Servlet规范中定义的文件上传功能。因此,Apache Tomcat也受到CVE-2023-24998影响。 影

    2024年02月11日
    浏览(35)
  • 修复漏洞(二)离线升级Tomcat版本

    生产环境无法联网,只能通过下载离线版本更新Tomcat到小版本最新 注意Tomcat10和11与jdk1.8都不兼容,只能更新到小版本的最新 前提是按照我这种方法配置Tomcat开机自启的https://blog.csdn.net/qq_44648936/article/details/130022136 备份整个安装目录和配置文件,压缩也好,文件复制也好,或

    2024年02月16日
    浏览(32)
  • future versions of Elasticsearch will require Java 11 --记录es启动报错

    ES启动时候报错:future versions of Elasticsearch will require Java 11; your Java version from [/data/jdk1.8.0_111/jre] does not meet this requirement  es启动时候会使用环境变量的jdk,在不改变现有环境变量的情况下使用自带的openjdk,需要执行以下步骤:         es版本:7.5.1         自带的openjdk版本:

    2024年02月11日
    浏览(31)
  • 【BUG】Docker启动MySQL报错

    个人主页 :金鳞踏雨 个人简介 :大家好,我是 金鳞 ,一个初出茅庐的Java小白 目前状况 :22届普通本科毕业生,几经波折了,现在任职于一家国内大型知名日化公司,从事Java开发工作 我的博客 :这里是CSDN,是我学习技术,总结知识的地方。希望和各位大佬交流,共同进

    2024年02月12日
    浏览(27)
  • Tomcat项目启动报错

    解决办法:可能Tomcat版本不对,使用7.0.90版本启动报错,使用8.0.53版本启动正常。 更换Tomcat版本。

    2024年02月07日
    浏览(32)
  • 本地启动项目tomcat报错

    19-Jun-2020 10:49:11.860 严重 [ContainerBackgroundProcessor[StandardEngine[Catalina]]] org.apache.catalina.core.StandardContext.reload 启动Context[/WebRoot]出现异常 org.apache.catalina.LifecycleException: 无法启动组件[StandardEngine[Catalina].StandardHost[localhost].StandardContext[/WebRoot]] at org.apache.catalina.util.LifecycleBase.handleSubC

    2024年02月11日
    浏览(44)
  • idea项目启动报错 Unsupported major.minor version 52.0和java内部版本号对照

    idea项目启动报错: org/springframework/boot/SpringApplication : Unsupported major.minor version 52.0 报错很明显。java版本不对,例如有老项目jdk是1.7,但是idea配置的大多数都是1.8。 解决方案 需要全部配置下。 1、环境变量配置为1.7。 2、pom.xml配置为1.7。 3、idea settings配置。 java compiler | proj

    2024年02月16日
    浏览(43)
  • idea启动tomcat报错404

    启动 Tomcat 时出现 404 错误通常意味着应用程序无法找到或访问。这可能是由于多种原因引起的。以下是一些可能的原因和相应的解决方法: 应用程序部署问题: 确保你的应用程序已经正确部署到 Tomcat 的 webapps 目录中。 检查 WAR 文件或应用程序文件夹的名称,确保它们与访

    2024年02月03日
    浏览(40)
  • 记录一次hadoop集群上secondarynamenode无法启动的bug的解决办法

    这个错误其实是由于重复格式化导致namenode和datanode的namespaceID和clusterID不一致引起的 解决方法如下: 解决方案: 1.关闭所有服务并重启(保证Hadoop的服务被杀死) 2.清理: 将hadoop的根目录中的data,logs全部删除(三台节点) 将 /tmp下的内容全部删除 3.重新格式化

    2024年02月06日
    浏览(45)
  • [Bug 记录] Pycharm 无法导入 _C,相对、绝对路径都报错

      在Pychram中调代码的时候,发现有的包必须在python3.8以上版本上才能使用,于是重新配置python3.9的环境。结果出事了,之前还能运行的代码怎么都运行不了,编译的库成功了,就是 from xx import _C 一直报错。最后试出来还有就是相对路径也报错,根据这点发现问题。   首

    2024年02月16日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包