使用 spring 3.2 和 AspectJ 1.6,我使用 AspectJ 实现了一个分析方面来获取我的应用程序的性能指标。
它正在工作,但现在我需要这个方面的执行是有条件的。我的意思是,此分析仅在某些时候有用,因此我想在不需要时将其关闭。
我所做的第一种方法是添加一个由 spring 注入的新属性到方面。然后此属性用于使执行有条件。像这样的东西:
方面:
...
private boolean active;
@Pointcut("execution(public * *(..))")
public void anyPublicOperation() {
}
@Around("anyPublicOperation()")
public Object profile(final ProceedingJoinPoint pjp)
throws Throwable {
if (active){
...
}
}
豆配置:
<!-- Profiling aspect -->
<bean class="example.ProfilingAspect" factory-method="aspectOf">
<property name="active" value="true"/>
</bean>
这可行,但我想完全停用它以避免执行方面,然后它就不需要了。
但是,我发现的唯一解决方案是在“aop.xml”文件中注释方面,但我更喜欢使用属性来激活/停用分析。
任何想法?提前致谢!