0

我正在使用 unitils 进行测试。我在故障安全测试报告中看到了 90 多条 spring 上下文刷新消息。我需要知道初始化这些弹簧上下文需要多少时间。Unitils 没有适当的日志记录,因此无法使用框架日志对其进行跟踪。

位于@SpringApplicationContext测试类之上,所以不能在我自己的测试类中使用记录器

编写建议或感知类或拦截器将无济于事,因为所有这些类都必须在 spring xml 中注册,而那些在 spring xml 中注册的 bean 将仅在初始化上下文后加载

编写应用程序监听器类,我们只能捕获ContextRefreshedEvent,即在加载的上下文未初始化时。

无法捕获 ,ContextStartedEvent因为它是在start()使用ConfigurableApplicationContext interface. 而 unitils 动态创建 newClassPathXmlApplicationContext(..,..);来创建 spring 上下文(class:org.unitils.spring.util.ClassPathXmlApplicationContextFactory)

如何计算弹簧上下文初始化时间?

4

1 回答 1

0

那么简单的 log4j 记录器呢?记录 Spring 信息日志时,您可以看到 ContexLoader 初始化时间。

17:25:48 INFO - ContextLoader - Root WebApplicationContext:初始化开始

17:25:53 INFO - ContextLoader - Root WebApplicationContext:初始化在 5325 毫秒内完成

于 2014-01-09T15:29:28.217 回答