Java 上下文初始化失败--BeanCreationNotAllowedException

Java 上下文初始化失败--BeanCreationNotAllowedException,java,spring,dependency-injection,cxf,Java,Spring,Dependency Injection,Cxf,我的应用程序的Spring上下文无法初始化。有人能帮我理解它为什么会失败以及如何修复它吗 以下是我收到的警告和错误消息: [警告]在具有的bean上调用销毁方法“shutdown”失败 名称“cxf” org.springframework.beans.factory.beancreation不允许异常: 创建名为“entityManagerFactory”的bean时出错:单例bean 此工厂的单例处于运行状态时不允许创建 销毁(不要在销毁中从BeanFactory请求bean) 方法实现!)

我的应用程序的Spring上下文无法初始化。有人能帮我理解它为什么会失败以及如何修复它吗

以下是我收到的警告和错误消息:

[警告]在具有的bean上调用销毁方法“shutdown”失败 名称“cxf”

org.springframework.beans.factory.beancreation不允许异常: 创建名为“entityManagerFactory”的bean时出错:单例bean 此工厂的单例处于运行状态时不允许创建 销毁(不要在销毁中从BeanFactory请求bean) 方法实现!)

org.springframework.web.context.ContextLoader [错误]上下文初始化失败


CXF网站的示例配置中没有包含
销毁方法
调用,因此这似乎是一个错误配置。有关详细信息,请参阅此页:

我还找到了此问题的bug追踪器:。在早期版本的CXF中,似乎没有隐式调用destroy方法,但在v2.2.11中已修复


因此,我的建议是至少升级到该版本,并在您的配置中添加

CXF网站的示例配置中不包含
销毁方法调用,因此这似乎是一个配置错误。有关详细信息,请参阅此页:

我还找到了此问题的bug追踪器:。在早期版本的CXF中,似乎没有隐式调用destroy方法,但在v2.2.11中已修复


因此,我的建议是至少升级到该版本,并在您的配置中设置

在我的情况下,2.5.0版也有同样的问题,但那是我的错

我在上下文中选错了豆子

详细说明:我让SpringMVC控制器(名为OrderController)用
@Controller
注释,但没有定义名称(注释驱动)。另一方面,CXF需要xml配置AFAIK,因此我使用java配置(使用
@bean
)将bean命名为
orderController
,并且在初始化CXF时,Spring使用了错误的MVC控制器,在上面列出的错误中失败

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


就我而言,2.5.0版也有同样的问题,但那是我的错

我在上下文中选错了豆子

详细说明:我让SpringMVC控制器(名为OrderController)用
@Controller
注释,但没有定义名称(注释驱动)。另一方面,CXF需要xml配置AFAIK,因此我使用java配置(使用
@bean
)将bean命名为
orderController
,并且在初始化CXF时,Spring使用了错误的MVC控制器,在上面列出的错误中失败

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


您可以发布您的xml配置吗?或者,如果您使用的是注释配置,请发布由名称“cfx”和“entityManagerFactory”标识的类。是否有导致此警告的错误?@AaronSheffey:没有,没有导致警告的错误。是否可以发布xml配置?或者,如果您使用的是注释配置,请发布由名称“cfx”和“entityManagerFactory”标识的类。是否有导致此警告的错误?@AaronSheffey:没有,没有导致此警告的错误。我从版本2.3.2升级到了版本2.4.2,从而解决了问题。谢谢。@kin1所以请将您的解决方案作为答案发布并接受它。通过这种方式,人们将立即看到问题已经解决,不再需要解决方案我从2.3.2版升级到2.4.2版,解决了这个问题。谢谢。@kin1所以请将您的解决方案作为答案发布并接受它。通过这种方式,人们将立即看到问题已经解决,不再需要解决方案