我的网络应用程序存在问题,我怀疑会话范围内的bean需要很长时间才能加载。
有没有办法可以记录bean初始化的时间?
答案 0 :(得分:0)
您可以在these lines上编写一个简单的时间记录机制,设置构造函数开头的开始时间和使用@PostConstruct
注释的方法中的结束时间。这应该可以让您了解Spring花费多长时间来初始化bean并连接其依赖项。
答案 1 :(得分:0)
一个简单的log4j配置应该可以让你了解哪些bean正在服用多长时间。将日志记录级别设置为DEBUG并使用log4j appender中的日期/时间格式打印出时间。
答案 2 :(得分:0)
SLF4j(可以很容易地与Spring一起使用:我找到它的原因)为此目的有一个特殊的TimeInstrument实现:[StopWatch]
这可能对某人有所帮助,即使这个问题有点老了。
编辑:关于它的好处:它实际上使用的是nanoTime() - 根据这些帖子[1,2] - 最精确的解决方案。
(来自org.slf4j.profiler.StopWatch.start(String)的代码片段)
public void start(String name) {
this.name = name;
startTime = System.nanoTime();
status = TimeInstrumentStatus.STARTED;
}