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

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 河北省理科2001——2010年一分一档表[通俗易懂]

    河北省理科2001——2010年一分一档表[通俗易懂]VirtualBox.bat:C:cd”\ProgramFiles\Oracle\VirtualBox”VBoxManagestartvm”CentOS-6.5″–typeheadless

    2022年7月13日
    42
  • 在pycharm中配置Anaconda以及pip源配置

    在pycharm中配置Anaconda以及pip源配置在学习推荐系统、机器学习、数据挖掘时,python是非常强大的工具,也有很多很强大的模块,但是模块的安装却是一件令人头疼的事情。现在有个工具——anaconda,他已经帮我们集成好了很多工具了!anaconda里面集成了很多关于python科学计算的第三方库,主要是安装方便,而python是一个编译器,如果不使用anaconda,那么安装起来会比较痛苦,各个库之间的依赖性就很难连接的很好。在wind

    2022年5月15日
    33
  • java调用HTTP接口(Get请求和Post请求)

    java调用HTTP接口(Get请求和Post请求)前提:一个Http接口:http://172.83.38.209:7001/NSRTRegistration/test/add.do?id=8888888&name=99999999id和name是传入的参数浏览器访问接口:java代码调用Http接口代码如下(代码中注释分为两部分:处理get请求和post请求):packagecom.inspur.OKHTTP…

    2022年5月24日
    814
  • 几款永久免费内网穿透,好用且简单(内网穿透教程)

    对于网络用户来说,一定都经历过出门在外无法直接在外网访问内网、或是难以部署异地远程桌面,因此心急如焚的情况;对于企业来说,无论是财务管理软件难以将分店信息同步到总部进行统计汇总、还是员工出差在外或在家里就不能访问企业内部办公系统,都极大地影响了公司整体效率;对于个人开发者来说,微信小程序或者在线支付系统等开发环境往往需要一个可以外部访问的公网环境进行调试,而大多数的企业网络都被运营商做了转发设置,…

    2022年4月16日
    90
  • Python画图显示中文

    Python画图显示中文matplotlib作图时默认设置下为英文,无法显示中文,只需要添加下面两行代码即可plt.rcParams[‘font.sans-serif’]=[‘SimHei’]plt.rcParams[‘axes.unicode_minus’]=FalseExampleimportmatplotlib.pyplotaspltfromnumpy.randomimportmul…

    2022年6月1日
    37
  • 失去焦点和获得焦点发生事件(js)「建议收藏」

    失去焦点和获得焦点发生事件(js)「建议收藏」失去焦点:onblur=”hanshu(this)”获得焦点:onfocus=”hanshu(this)”{     alert(‘请确认您输入格式是否正确!’);   }//函数名:chksafe//功能介绍:检查是否含有,//,///参数说明:要检查的字符串//返回值:0:是 1:不是functionchksafe(a)

    2022年6月30日
    23

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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