PerformanceMonitorInterceptorの使い方
org.springframework.aop.interceptor.PerformanceMonitorInterceptorを使うと、メソッドの処理時間を計測できます。
Bean定義ファイルでは、aop:advisorを利用して定義します。
以下の例では、my.colnagoパッケージ以下の全クラスの全メソッドを対象。
<aop:config> <!-- Pointcut for PerformanceTrace(Required 'TRACE' level --> <aop:advisor pointcut="execution(* my.colnago.*..*.*(..))" advice-ref="performanceTraceAdvice"/> </aop:config> <bean id="performanceTraceAdvice" class="org.springframework.aop.interceptor.PerformanceMonitorInterceptor"> <property name="useDynamicLogger" value="true"/> </bean>
出力結果は、以下のとおり。Log出力レベルをTRACEにすることも忘れずに!
2007-03-12 15:01:22,134 TRACE [main][my.colnago.dao.tbl.ibatis.TestClassTblDao] - StopWatch 'my.colnago.dao.tbl.ITestClassTblDao.insert': running time (millis) = 31
なお、aop:configの部分は、以下のようにも定義可能。
<aop:config> <aop:pointcut id="colnago" expression="execution(* my.colnago.*..*.*(..))" /> <aop:advisor pointcut-ref="colnago" advice-ref="performanceLoggingAdvice"/> </aop:config>