Unitils @SpringApplicationContext - 如何找到初始化spring上下文所花费的时间?

时间:2014-01-09 10:32:31

标签: spring unitils

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

@SpringApplicationContext位于测试类之上,因此无法在我自己的测试类中使用logger

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

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

无法捕获ContextStartedEvent,因为它是在使用start()上的ConfigurableApplicationContext interface方法启动ApplicationContext时发布的。而unitils动态创建新ClassPathXmlApplicationContext(..,..);以创建弹簧上下文(class:org.unitils.spring.util.ClassPathXmlApplicationContextFactory)

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

1 个答案:

答案 0 :(得分:0)

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

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

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