16

通过JUnit 测试用例执行代码时出现以下异常

org.springframework.beans.factory.BeanCreationNotAllowedException:创建名为“somarFactory”的bean时出错:当该工厂的单例正在销毁时,不允许创建单例bean(不要在销毁方法实现中从BeanFactory请求bean!)

有人可以建议可能是什么问题吗?

4

9 回答 9

11

检查您是否有多个 tomcat 的实例。
如果是这种情况,请关闭所有实例,然后打开一个且仅一个实例。
我希望这会帮助你

于 2013-11-27T16:25:18.110 回答
7

转到此线程

我假设你也有同样的问题。它通过设置JAVA_HOME路径和更新你的 JDK 到版本 7 并尝试重新启动你的服务器来解决 ..(解决方案

我认为这可以解决你的问题..

于 2013-02-22T07:15:43.557 回答
5

在我的情况下,
我使用多个线程来调用 bean 方法
,并且在完成所有
调用 context.close()的线程之前

通过删除 context.close
我的问题解决了。
希望有用

于 2018-04-17T07:43:01.727 回答
2

在我的集成测试中调试应用程序时,我遇到了这个错误,试图find从 Spring Data Repository 调用一个方法。

我的测试代码正在使用@Asyncand @Scheduled。经过一番研究,我在我的 spring 集成测试中禁用了这两个功能,问题得到了解决。

于 2019-02-07T14:40:57.460 回答
1

@Transactional在我的情况下使用它解决了多个事务之间的事务冲突。

@Transactional(propagation = Propagation.REQUIRED, readOnly = false)

我正在使用 Spring Boot + Spring Data

于 2018-05-21T17:08:14.657 回答
0

如果您有一个在提供范围内但在运行时不可用的依赖项,您也可以获得此异常。

于 2020-05-29T07:33:05.767 回答
0

就我而言,我有:

<dependency>
    <groupId>org.springframework.boot</groupId>-->
     <artifactId>spring-boot-starter-tomcat</artifactId>-->
    <scope>provided</scope>-->
</dependency>

在我的 pom.xml 中的一个新项目中。我删除了它,现在它可以工作了。

于 2020-09-07T11:56:36.920 回答
0

我也有这个错误,但在我的情况下,我在错误消息的末尾发现,这与具有相同 @requestmapping 值的两个端点有关,我希望它有所帮助:)

于 2021-03-24T15:02:04.190 回答
0

在完成异步线程以测试方法运行之前完成测试时,我收到了该错误。

修复是为了确保在线程作业完成之前测试不会完成。

于 2021-10-05T16:41:47.907 回答