首页 > 解决方案 > 为什么spring boot应用程序无法启动缺少错误

问题描述

我正在开发一个旨在在 Kubernetes 中运行的 Spring Boot 应用程序。在开发过程中(无论是在 Windows 中还是在 Linux 中),如果出现错误,例如在 spring 属性中,我会得到错误作为日志输出的最后一行:

...
2019-01-11 11:17:45.372  WARN 15528 --- [ost-startStop-2] o.a.c.loader.WebappClassLoaderBase       : The web application [easyprocesses] appears to have started a thread named [oracle.jdbc.driver.BlockSource.ThreadedCachingBlockSource.BlockReleaser] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
 java.lang.Object.wait(Native Method)
 oracle.jdbc.driver.BlockSource$ThreadedCachingBlockSource$BlockReleaser.run(BlockSource.java:327)
2019-01-11 11:17:45.407 ERROR 15528 --- [           main] o.s.boot.SpringApplication               : Application run failed

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mailCreationProperties': Injection of autowired dependencies failed; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'mailcreation.sender.email-address' in value "${mailcreation.sender.email-address}"

如果我运行相同的应用程序,我不会收到错误消息。没有提示为什么应用程序没有正确启动。这是我在 Kubernetes 中得到的:

...
2019-01-11 10:35:33.365  WARN 1 --- [ost-startStop-2] o.a.c.loader.WebappClassLoaderBase       : The web application [easyprocesses] appears to have started a thread named [oracle.jdbc.driver.BlockSource.ThreadedCachingBlockSource.BlockReleaser] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
     java.lang.Object.wait(Native Method)

oracle.jdbc.driver.BlockSource$ThreadedCachingBlockSource$BlockReleaser.run(BlockSource.java:327)

在这两种情况下都有一些关机问题(不知道为什么),但它们是相似的。

例如,如果底层数据库的密码错误,应用程序也不会显示该错误。此应用程序停止并且不打印任何可用的错误。

有谁知道这种行为的原因是什么?

谢谢,斯蒂芬

标签: spring-boot

解决方案


推荐阅读