Spring Framework在没有任何明显原因的情况下摧毁了单身人士

时间:2014-08-13 09:24:05

标签: java spring

我有一个非常奇怪的问题:

我有四个生产服务器,所有服务器都以相同的方式配置并运行相同的spring应用程序。由于我对应用程序进行了大量重构,因此这四个服务器中的两个无法初始化应用程序上下文,因为NPE是由缺少bean引起的,应该是自动装配的,但是为空。

我将org.springframework的日志记录切换为调试以查看任何提示。我看到的第一件事是在两个崩溃的服务器上,我看到以下条目:

org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:488) Retrieved dependent beans for bean 'creditServiceImpl': [payPalService, payPalRecurringQueueService]

在此条目之后,还有12个条目销毁单个bean,然后一个条目销毁所有剩余的bean:

org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:433) Destroying singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@3085e275: defining beans [[...lots of beans...]]; root of factory hierarchy

之后hibernate会话关闭,一切都关闭,我得到的唯一错误是:

ERROR [localhost-startStop-1] org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:307) Context initialization failed

我不明白为什么春天在破坏之前没有任何错误地摧毁所有的豆子。有谁知道我怎么能隔离这个问题?将应用程序重新构建到一切正常工作的位置不是一种选择,因为在一次提交中必须进行太多更改。

感谢您的帮助!

编辑:在将日志记录设置为跟踪之后,我发现这是因为循环依赖关系和之后的NPE,ERROR只是在上下文被破坏之后才被记录,这让我很困惑。

我仍然感到困惑,因为问题仅在4台服务器中的2台上,但似乎初始化bean的顺序不同于一台服务器到另一台服务器(这也使我感到困惑)

0 个答案:

没有答案