我正在尝试使用spf4j https://github.com/zolyfarkas/spf4j

我用以下方法标记了我的方法:

@JmxExport
@PerformanceMonitor(warnThresholdMillis=1, errorThresholdMillis=100, recorderSource = RecorderSourceInstance.Rs5m.class)


我对此有例外:

Exception in thread "AWT-EventQueue-0" java.lang.NoSuchMethodError: org.spf4j.perf.aspects.PerformanceMonitorAspect.aspectOf()Lorg/spf4j/perf/aspects/PerformanceMonitorAspect;


我正在使用JDK 1.7.0_55从Eclipse启动应用程序
-javaagent:depend / aspectj / 1.8.6 / lib / aspectjweaver-1.8.6.jar并在aop-ajc.xml文件夹中带有src/META-INF

<?xml version="1.0" encoding="UTF-8"?>
<aspectj>
<aspects>
    <aspect name="org.spf4j.perf.aspects.PerformanceMonitorAspect" />
</aspects>
<weaver options="-verbose">
    <include within="com.*..*" />
</weaver>
</aspectj>


此时,JMX Bean在VisualVM中也不可见。
我究竟做错了什么?

在此处也记录为问题:
https://github.com/zolyfarkas/spf4j/issues/4

最佳答案

当AspectJ未编织PerformanceMonitorAspect时会发生这种情况

添加包括org .. *进行编织(其中将包含lib方面)可解决此问题。

<weaver options="-verbose -debug -showWeaveInfo">
    <include within="com.example..*" />
    <include within="org..*" />
</weaver>


有关更多详细信息,see

08-27 15:19