0

テストには unitils を使用しています。フェイルセーフ テスト レポートに 90 を超えるスプリング コンテキスト リフレッシュ メッセージが表示されます。これらのスプリング コンテキストの初期化にかかる時間を知る必要があります。Unitils には適切なログがないため、フレームワーク ログで追跡できません。

@SpringApplicationContextテストクラスの上にあるため、自分のテストクラスでロガーを使用することはできません

これらのクラスはすべてSpring xmlに登録する必要があり、Spring xmlに登録されているBeanはコンテキストが初期化された後にのみロードされるため、アドバイスまたは認識クラスまたはインターセプターを記述しても役に立ちません。

アプリケーション リスナ クラスを作成するContextRefreshedEventと、コンテキストが初期化されずにロードされたときの のみをキャッチできます。

のメソッドをContextStartedEvent使用して ApplicationContext が開始されたときに公開されているため、 をキャッチできません。unitils は動的に newを作成して、スプリング コンテキストを作成します。start()ConfigurableApplicationContext interfaceClassPathXmlApplicationContext(..,..);(class:org.unitils.spring.util.ClassPathXmlApplicationContextFactory)

春のコンテキストの初期化時間を計算するにはどうすればよいですか?

4

1 に答える 1

0

単純な log4j ロガーはどうですか? Spring 情報ログをログに記録すると、ContexLoader の初期化時間が表示されます。

17:25:48 情報 - ContextLoader - ルート WebApplicationContext: 初期化が開始されました

17:25:53 情報 - ContextLoader - ルート WebApplicationContext: 初期化が 5325 ミリ秒で完了しました

于 2014-01-09T15:29:28.217 に答える