记录会话Scoped Bean初始化时间

时间:2015-03-09 16:43:31

标签: java spring session

我的网络应用程序存在问题,我怀疑会话范围内的bean需要很长时间才能加载。

有没有办法可以记录bean初始化的时间?

3 个答案:

答案 0 :(得分:0)

您可以在these lines上编写一个简单的时间记录机制,设置构造函数开头的开始时间和使用@PostConstruct注释的方法中的结束时间。这应该可以让您了解Spring花费多长时间来初始化bean并连接其依赖项。

答案 1 :(得分:0)

一个简单的log4j配置应该可以让你了解哪些bean正在服用多长时间。将日志记录级别设置为DEBUG并使用log4j appender中的日期/时间格式打印出时间。

答案 2 :(得分:0)

SLF4j(可以很容易地与Spring一起使用:我找到它的原因)为此目的有一个特殊的TimeInstrument实现:[StopWatch]

这可能对某人有所帮助,即使这个问题有点老了。

编辑:关于它的好处:它实际上使用的是nanoTime() - 根据这些帖子[12] - 最精确的解决方案。

(来自org.slf4j.profiler.StopWatch.start(String)的代码片段)

public void start(String name) {
    this.name = name;
    startTime = System.nanoTime();
    status = TimeInstrumentStatus.STARTED;
}