我正在使用unitils进行测试。我在failsafe测试报告中看到超过90条spring上下文刷新消息。我需要知道初始化这些spring上下文需要多少时间。Unitils没有正确的日志记录,因此无法使用框架日志跟踪它。
记录器位于测试类的顶部,因此不能在我自己的测试类中使用@SpringApplicationContext
编写通知、感知类或拦截器将没有任何帮助,因为所有这些类都必须在spring xml中注册,而那些在spring xml中注册的bean只有在上下文初始化后才会加载。
编写一个应用程序侦听器类,我们可以只捕获ContextRefreshedEvent,也就是说,当上下文被加载而未初始化时。
无法捕获ContextStartedEvent,因为它是在ApplicationContext使用ConfigurableApplicationContext interface上的start()方法启动时发布的。而unitils动态地创建新的ClassPathXmlApplicationContext(..,..);来创建spring上下文(class:org.unitils.spring.util.ClassPathXmlApplicationContextFactory)
如何计算spring context初始化时间?
发布于 2014-01-09 23:29:28
那么简单的log4j记录器呢?在记录Spring info日志时,您可以看到ContexLoader初始化时间。
17:25:48 INFO - ContextLoader -根WebApplicationContext:初始化开始
17:25:53 INFO - ContextLoader -根WebApplicationContext:初始化完成,耗时5325ms
https://stackoverflow.com/questions/21017717
复制相似问题