java - spring中jamon的基于注释的使用?

标签 java spring annotations aop jamon

使用jamonspring ,是described使用 JamonPerformanceMonitorInterceptor 并通过 applicationContext.xml 将其放入 Spring AOP 机制。对此进行了解释,并且 tests in it's sources 中有一个示例。不幸的是,我想构建一个没有任何 xml 配置的 spring-boot 应用程序。
是否可以使用一些注释将 JamonPerformanceMonitorInterceptor 包含到 spring 中?

最佳答案

迟到总比不到好……

我遇到了同样的情况:我需要在没有任何 XML 配置的情况下配置 JAMon。大多数在线示例(包括 JAMon 源代码中的注释)都宣传 XML 配置的灵 active ,但我找不到任何基于注释的配置的示例。此外,基于注释的配置不一定不太灵活,它们只需要在概念上分开,并且不要与应用程序的功能部分混淆。我认为这样的顾问就是一个很好的例子:

@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 知道对使用 @RestContrller 注释的 Spring bean 的任何方法运行 JAMon 监控建议。该顾问程序应该配置/添加到与其余 Controller 相同的 Spring 上下文中。

请注意,就我而言,我特别想监视我的休息 Controller 。人们可以根据自己的需要调整顾问。 (在我的代码中,我使用了所提供顾问的更高级/可配置版本)

关于java - spring中jamon的基于注释的使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28056736/

相关文章:

java - 写入文本文件

java - 使用文件中的数据的模拟自动售货机程序

java - 请求参数的自定义 Spring 注解

java - java注解的执行顺序

java - 在 Camel JUnit 中 Autowiring Spring Bean

java - Keycloak - 自定义表单操作在流程中不可见

java - 创建 ZipFile,需要初始化,但初始化需要处理异常

Android:如何摆脱@Generated ("org.jsonschema2pojo")?

java - 使用通用类型参数转换异常 : Right way to do it?

java - AfterCompose 与 Init ZK