另一个来自io.github.classgraph。销毁事物作为应用程序关闭挂钩添加,仅在关闭JVM时执行。 ->对于永远运行的应用服务器不是一个好主意。他们修复了它,但是springdoc-openapi-ui / org.webjars:webjars-locator-core仍在使用带有该错误的旧版本。因此,我手动增加了类图版本。这解决了第二次内存泄漏。
问题已解决:)
由于新信息而完全返工:
[之后我检查了为什么tomcat的行为不像这样,找到
The web application [killerApp] registered the JDBC driver [org.h2.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
所以它只在雄猫中工作,因为它足够聪明,可以注意到并防止内存泄漏。 JBoss没有这样做,并且遇到了麻烦...
[看起来像带有H2的标准Spring Boot应用程序在处理注销H2驱动程序方面有问题,至少是我的收获。
我另外发现了这个:GitHub - Spring Boot - Discussion about unregister managed JDBC drivers
现在我不确定,谁在“故障”?
最感谢!
由于新信息而完全重做:最初的问题:在多次使用堆转储重新部署一个简单的Spring Boot应用程序(2.2.6)时,JBoss杀死了“ OutOfMemoryError:Metaspace”本身。 [
另一个来自io.github.classgraph。销毁事物作为应用程序关闭挂钩添加,仅在关闭JVM时执行。 ->对于永远运行的应用服务器不是一个好主意。他们修复了它,但是springdoc-openapi-ui / org.webjars:webjars-locator-core仍在使用带有该错误的旧版本。因此,我手动增加了类图版本。这解决了第二次内存泄漏。
问题已解决:)