Error creating bean with name ‘eurekaClientConfigBean’: Singleton bean creation not allowed!

做一个积极的人编码、改bug、提升自己我有一个乐园,面向编程,春暖花开!今天发现一个错误,简单记录一下,运行一个项目一直启动不了,发现控制台报错了。首先说明一下这是一个Spring boot 集成Quartz做任务调度的项目,版本信息就不贴了,因为和本文最终的解决方案没有什么关系。错误信息如下:2019-09-05 09:56:23.993 WARN [web-scheduler…

大家好,又见面了,我是全栈君。

做一个积极的人

编码、改bug、提升自己

我有一个乐园,面向编程,春暖花开!

今天发现一个错误,简单记录一下,运行一个项目一直启动不了,发现控制台报错了。

首先说明一下这是一个Spring boot 集成Quartz做任务调度的项目,版本信息就不贴了,因为和本文最终的解决方案没有什么关系。

错误信息如下:

2019-09-05 09:56:23.993  WARN [web-scheduler-localhost,,,] 5324 --- [ender@21a0676f}] s.c.a.AnnotationConfigApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'eurekaRibbonClientConfiguration': Unsatisfied dependency expressed through field 'clientConfig'; nested exception is org.springframework.beans.factory.BeanCreationNotAllowedException: Error creating bean with name 'eurekaClientConfigBean': 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!)
2019-09-05 09:56:23.997  INFO [web-scheduler-localhost,,,] 5324 --- [           main] o.apache.catalina.core.StandardService   : Stopping service [Tomcat]
2019-09-05 09:56:24.003  WARN [web-scheduler-localhost,,,] 5324 --- [ost-startStop-1] o.a.c.loader.WebappClassLoaderBase       : The web application [ROOT] appears to have started a thread named [RxIoScheduler-1 (Evictor)] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
java.lang.Thread.run(Thread.java:745)

根据平时的看错误经验:

Error creating bean with name 'eurekaRibbonClientConfiguration': Unsatisfied dependency expressed through field 'clientConfig'; nested exception is org.springframework.beans.factory.BeanCreationNotAllowedException: Error creating bean with name 'eurekaClientConfigBean': 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!)

错误不就是这个吗,但事实貌似不是这样,排查代码和配置,没有发现代码和配置有任何的问题。

于是就耐心看整个启动日志的输出,发现在了下面这一句异常(控制台上 这一句异常信息和其他日志一样,没有任何突出之处)。

Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: 
Error creating bean with name 'quartzScheduler' defined in class path resource [org/springframework/boot/autoconfigure/quartz/QuartzAutoConfiguration.class]: 
Invocation of init method failed; 
nested exception is org.quartz.JobPersistenceException: Couldn't retrieve job: Table 'xyz.QRTZ_JOB_DETAILS' doesn't exist 
[See nested exception: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'xyz.QRTZ_JOB_DETAILS' doesn't exist]

从这句异常Error creating bean with name 'quartzScheduler' defined in class path resource之后发现容器开始关Quartz线程开始停止,容器也开始关闭。那分析就是这句异常导致服务不能重启的。上面的那个异常不是罪魁祸首,而是受害者。

知道了核心问题那就开始解决吧。Couldn't retrieve job: Table 'xyz.QRTZ_JOB_DETAILS' doesn't exist ,看出是xyz库中没有QRTZ_JOB_DETAILS,这个表,于是我打开navicat,连上数据库打开xyz ,发现这个QRTZ_JOB_DETAILS是存在的,只不过是小写,不是日子提示的大写。

这种情况我立马想到之前整理的过一篇文章,不是它嘛。一个因MySQL大小写敏感导致的问题

到这里 这个问题就结束了,我之所以记录这篇文章:

有一些错误,能够通过提示就找到原因。这个错误就是罪魁祸首。
而有一些错误,它只是受害者。而真正的错误原因隐藏在另一个地方。需要耐心寻找并发现它!

希望遇到类似情况的伙伴看到这篇能够有所收获。 peace&love

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

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/121001.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • SAPI5_SAP-ERP

    SAPI5_SAP-ERP转载自:http://blog.csdn.net/stone0823/article/details/70339694SAPWebIDE是基于Eclipse内核的在线开发IDE,可以使用在线的试用版本,但服务器在德国,访问的网速特别慢。也可以使用PersonalEdition,在本机启动和编写代码。与Eclipse相比,SAPWebIDE有几个

    2022年10月17日
  • Latex 换行顶格、不缩进

    Latex 换行顶格、不缩进Latex换行顶格、不缩进,使用的命令为:\noindent在顶格的段落前面加上,此命令,就可以。

  • 简述django请求生命周期_django批量更新数据库

    简述django请求生命周期_django批量更新数据库Django请求生命周期分析1.客户端发送请求在浏览器输入url地址,例如www.baidu.com,浏览器会自动补全协议(http),变为http://www.baidu.com,现在部分网站都

  • 贴片铝电容识别及型号_2.贴片电容和贴片铝电解的封装材质型号大全

    贴片铝电容识别及型号_2.贴片电容和贴片铝电解的封装材质型号大全1.贴片电容的封装及容值表示多层片式陶瓷电容器(MLCC)贴片电容封装贴片电容由于制造时受“高温烧结”工艺限制,所以本体上不能标注其容量,一般都是在贴片生产的整盘上有标注。容量识别:104=10×10^4PF=100000PF=100NF=0.1UF471=47×10^1PF=470PF原则1:以PF为基本单位,1法拉(F)=1000毫法(mF)=1000000微法(μF)1微法(μF)=…

  • VMware安装Centos7超详细过程(图文并茂)

    VMware安装Centos7超详细过程(图文并茂)

  • Matlab读取txt数据的实用方法[通俗易懂]

    Matlab读取txt数据的实用方法[通俗易懂]需求有个朋友需要我帮忙写个matlab脚本读取100个txt文档的实验数据,这些文档的结构相同,分为四列,从第一列到第四列依次是时间、位置、速度、加速度。读取完数据之后需要对数据进行处理,具体的处理方式是:提取以0.002为采样周期的数据,分类存储起来。文件内容是这样的:技术难点技术难点在于,这些文件中的数据是从一个软件中仿真得到的,由于采用的是变步长仿真,因此采样时间不统一,很难采用对…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号