我正在尝试使用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