我正在使用单元进行测试。我在故障保护测试报告中看到了90多条spring上下文刷新消息。我需要知道初始化这些spring上下文需要多少时间。Unitils没有正确的日志记录,因此无法使用框架日志跟踪它。
@SpringApplicationContext
在测试类的顶部,所以不能在我自己的测试类中使用记录器
编写一个建议或感知类或拦截器将没有帮助,因为所有这些类都必须在spring-xml中注册,而那些在spring-xml中注册的bean只有在上下文初始化之后才会加载
编写应用程序侦听器类时,我们只能捕获ContextRefreshedEvent
,即当加载的上下文未初始化时。
无法捕获ContextStartedEvent
,因为它是在ApplicationContext在ConfigurableApplicationContext interface
上使用start()
方法启动时发布的。而unitils动态创建新的ClassPathXmlApplicationContext(..,..);
以创建春季上下文(class:org.unitils.spring.util.ClassPathXmlApplicationContextFactory)
如何计算spring上下文初始化时间?
简单的log4j记录器怎么样?在记录Spring信息日志时,您可以看到ContexLoader的初始化时间。
17:25:48 INFO-ContextLoader-根WebApplicationContext:初始化已启动
17:25:53 INFO-ContextLoader-根WebApplicationContext:在5325毫秒中完成初始化