我们的上下文初始化从 60 秒跳到了大约 15 分钟。在慢速和快速情况下,它最终都会成功启动。无论哪种方式都没有致命错误。是否有特定的日志记录设置甚至建议的类来设置断点(或添加断点日志记录)?
我已经找到了该行为开始的修订版,但尚不清楚是什么导致它花费了这么长时间。我在 DefaultListableBeanFactory 中设置了断点。这是一个大型应用程序,因此在获取和创建 bean 时调用堆栈有时有数百个深度,但将其与先前的修订版(快速完成)进行比较显示出相似的性质。在慢速修订和快速修订之间,没有任何异常之处。
我已经通过“慢速部分”在随机点暂停了执行,堆栈跟踪看起来很合理,根据需要实例化新的 bean,在可能的情况下设置属性(这可能会导致更多的递归 doCreateBean 调用等)。
我还没有费心设置分析器,但怀疑它是否有用。慢版本花费所有时间的代码(bean factory,context init)当然也是快版本花费最多时间的代码。