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


積極的な人になる
コーディング、バグ修正、自己向上
私は1つの楽園があって、プログラミングに向いて、春は暖かくて花が咲きます!
今日1つのエラーを発見して、簡単に記録して、1つのプロジェクトを実行してずっと起動できなくて、コンソールが間違っていることを発見しました.
まず、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 existxyzライブラリの中にQRTZ_JOB_DETAILSがないことを見て、この表、そこで私はnavicatを開けて、データベースに接続してxyzを開けて、このQRTZ_JOB_DETAILSが存在することを発見して、ただ小文字で、日のヒントの大文字ではありません.
この場合、私はすぐに前に整理した文章を思い出した.それではないか.MySQLの大文字と小文字に敏感な問題
ここでこの問題は終わりました.私がこの文章を記録したのは:
ヒントを与えることで原因を見つけることができるエラーがあります.この間違いが元凶だ.被害者にすぎない間違いがあります本当のエラーの原因は別の場所に隠されています.辛抱強く探して発見する必要があります!
似たような状況に遭遇した仲間がこの記事を見て収穫できることを望んでいます.peace&love