Java Spring依赖注入停止工作

Java Spring依赖注入停止工作,java,spring,dependencies,inversion-of-control,code-injection,Java,Spring,Dependencies,Inversion Of Control,Code Injection,我正在与一个由10多名Java开发人员组成的团队合作开发一个web应用程序。这是一个大项目(2年前),从昨晚开始我们就遇到了一个问题:一些bean(2个bean)在使用时会导致NullPointerException(好像IoC不再工作) 问题是,两天前一切都很好,我已经阅读了这两天的每一次提交,但是Spring Confugration文件没有任何变化 我知道,有时如果您通过Spring动态注入bean并通过新操作数实例化它,它会给出一个NPE,但在项目中没有这种迹象 所有开发人员在本地机器上

我正在与一个由10多名Java开发人员组成的团队合作开发一个web应用程序。这是一个大项目(2年前),从昨晚开始我们就遇到了一个问题:一些bean(2个bean)在使用时会导致NullPointerException(好像IoC不再工作)

问题是,两天前一切都很好,我已经阅读了这两天的每一次提交,但是Spring Confugration文件没有任何变化

我知道,有时如果您通过Spring动态注入bean并通过新操作数实例化它,它会给出一个NPE,但在项目中没有这种迹象

所有开发人员在本地机器上都没有这个问题,但是在CI服务器上,它可以正常工作一段时间,然后停止,直到我们重新启动机器(而不是服务器)。有人知道如何处理这个问题吗?服务器启动根本不显示任何错误

更新:

  • 服务器上下文初始化绝对不会显示错误(或警告),并以成功消息结束

  • 我检查了所有对bean setter的调用:未使用任何调用

  • 这些bean是通过配置文件no@Autowired获取的

  • 实际上,我已经在整个项目中搜索了新的操作数,花了将近两个小时检查了每个操作数,但是没有一个bean实例化了新的操作数


    • 我猜有人叫“new”来创建一个bean,这意味着它不再受SpringBean工厂的控制,但不知何故它依赖于DI。如果您使用注释连接资源,则更可能出现这种情况


      你自己说的:多年来一直运转良好。春天并不是突然失败的。更有可能的是,这10+个Java开发人员中有一个是新手,或者不像他们认为的那样理解Spring。

      这个问题是由于JavaMelody和Spring AOP之间的冲突造成的。为了解决这个问题,我们必须禁用JavaMelody一段时间,直到我们知道问题的根源

      来自JavaMelody常见问题解答(了解更多信息)


      如果应用程序中的多功能monitoring-spring.xml与AOP或@Autowired之间存在冲突,则可以使用monitoring-spring-datasource.xml文件,而不是monitoring-spring.xml。此文件仅包含数据源后处理器和SpringDataSourceFactoryBean示例。

      某些代码正在将您的成员设置为null(“它可以正常工作一段时间,然后停止”)。你确定你没有在代码中的任何地方调用setX()吗?你能补充一点细节吗?stacktraces代码片段或日志,如果您可以在springincrease日志级别上打开调试日志,并向我们显示一些相关的日志和spring配置文件。检查循环依赖关系。如果这些bean是单例的,那么spring在上下文初始化期间会很快失败。也许它与服务器状态有关。这些豆子是怎么捡起来的?是上下文/组件扫描,是bean配置文件。不管怎样,我认为duffymo和TJ是对的——可能是10+个开发者中的一个做了一些类似setSomeBeanReference(新…)的事情。你能告诉我这些Bean是如何自动连接的吗?