1

で使用jamonするspringJamonPerformanceMonitorInterceptorapplicationContext.xml. それは説明されており、そのソースのテスト内に例があります。残念ながら、xml 構成なしで spring-boot アプリケーションを構築したいと考えています。いくつかの注釈を使用してto spring
を含めることは可能ですか?JamonPerformanceMonitorInterceptor

4

2 に答える 2

3

遅刻しないよりはまし...

私もまったく同じ状況でした。XML 構成なしで JAMon を構成する必要がありました。オンラインの例 (JAMon ソース コードのコメントを含む) のほとんどは、XML 構成の柔軟性を宣伝していますが、注釈ベースの構成の例は見つかりませんでした。また、注釈ベースの構成は必ずしも柔軟性が低いわけではなく、概念的に分離する必要があり、アプリケーションの機能部分と混同しないようにする必要があります。そのようなアドバイザーは良い例だと思います:

@Component
public class MonitoringAdvisor extends AbstractPointcutAdvisor {

    private final StaticMethodMatcherPointcut pointcut = new StaticMethodMatcherPointcut() {
            @Override
            public boolean matches(Method method, Class<?> targetClass) {
                return targetClass.isAnnotationPresent(RestController.class);
            }
        };

    @Override
    public Pointcut getPointcut() {
        return this.pointcut;
    }

    @Override
    public Advice getAdvice() {
        return new JamonPerformanceMonitorInterceptor(true, true);
    }
}

このアドバイザは、Spring/AOP に、 で注釈が付けられた Spring Bean の任意のメソッドで JAMon モニタリング アドバイスを実行するように通知し@RestContrllerます。このアドバイザーは、残りのコントローラーと同じ Spring コンテキストに構成/追加する必要があります。

私の場合、特に残りのコントローラーを監視したかったことに注意してください。自分のニーズに合わせてアドバイザーを適応させることができます。(私のコードでは、提示されたアドバイザーのより高度な/構成可能なバージョンを使用しています)

于 2016-02-01T22:49:53.030 に答える
0

このSpring Boot サンプル アプリケーションは役に立ちますか?

以下は、Spring AOP マニュアルの関連部分です。

于 2015-01-21T13:13:12.863 に答える