【发布时间】:2021-10-27 15:25:16
【问题描述】:
我正在使用 Kubernetes 集群和 docker。当我部署 java 服务 [springboot] 时,一些请求被丢弃(几秒钟)并出现以下错误。
exception=org.springframework.beans.factory.BeanCreationNotAllowedException:创建名为“控制器”的 bean 时出错:当此工厂的单例处于销毁状态时,不允许创建单例 bean(不要在销毁方法中从 BeanFactory 请求 bean实现!),stackTrace=[org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton() at line: 208]
我已经在使用 livenessProbe 和 readinessProbe。 Java 版本:12 SpringBoot 版本:2.1.5.RELEASE Hibernate 版本:带有 Postgres DB 的 2.4.3
据我所知,这是由于在执行某些请求时关闭应用程序上下文而发生的。理想情况下,它不应该是。
有人可以帮忙吗?
【问题讨论】:
-
您应该将您的 k8s 平台设置为仅将请求路由到有效的运行实例;听起来正在退役的实例并未从请求定位中删除。
-
请提供足够的代码,以便其他人更好地理解或重现问题。
标签: java spring-boot docker kubernetes