基类上的metrics-aspectj @Timed方法在扩展类时抛出NullPointerException

时间:2015-11-22 08:22:43

标签: java aspectj codahale-metrics

我一直在使用metrics-aspectj库,发现注释方法来捕获性能指标非常方便。最近我尝试扩展一个带有注释方法的类时遇到了问题。这就是我所看到的:

@Metrics
public class Base {
    public void something_not_timed() {
        ...
    }

    @Timed(name="method1-ProcessTime")
    public void method1() {
       ...
    }
}

我一直在生产中使用Base类而没有问题。现在我需要扩展这个类。

public class Derived extends Base {
    @Override
    public void something_not_timed() {
        ....
    }
}

如您所见,method1()未被覆盖。但问题是每当我在Derived类中使用method1()时,我会在method1_aroundBody1 $ advice()中得到一个NullPointerException。

我不熟悉AspectJ因此无法弄清楚我错过了什么,任何建议都会受到高度赞赏。

谢谢!

此致 卡里

1 个答案:

答案 0 :(得分:0)

这是 metrics-aspectj 中的错误。不管怎样,你已经为它开了一张票,我注意到了。我已经为这个问题创建了一个小型的demontration存储库,并在my answer to your GitHub ticket中更详细地描述了它。