1

要在 中使用jamonspring它被描述JamonPerformanceMonitorInterceptor通过applicationContext.xml. 它已被解释,并且在它的源代码中的测试中有一个示例。不幸的是,我想构建一个没有任何 xml 配置的 spring-boot 应用程序。
是否可以使用一些注释来包含JamonPerformanceMonitorInterceptorto spring?

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 回答