diff options
Diffstat (limited to '')
2 files changed, 11 insertions, 3 deletions
diff --git a/sandbox/rfeng/aop-logging/src/main/java/org/apache/tuscany/sca/aspectj/TracingAspect.java b/sandbox/rfeng/aop-logging/src/main/java/org/apache/tuscany/sca/aspectj/TracingAspect.java index 91489bae7d..7a6e4c5ded 100644 --- a/sandbox/rfeng/aop-logging/src/main/java/org/apache/tuscany/sca/aspectj/TracingAspect.java +++ b/sandbox/rfeng/aop-logging/src/main/java/org/apache/tuscany/sca/aspectj/TracingAspect.java @@ -35,15 +35,19 @@ public abstract class TracingAspect { @Pointcut("") protected abstract void entry(); - @Pointcut("call(* java..*.*(..))") + /** ignore join points outside this scope - use within(..) */ + @Pointcut("") + protected abstract void withinScope(); + + @Pointcut("withinScope() && call(* java..*.*(..))") protected void exit() { } - @Pointcut("entry() && !cflowbelow(entry())") + @Pointcut("withinScope() && entry() && !cflowbelow(entry())") void start() { } - @Pointcut("cflow(entry()) && !exit() && !cflowbelow(exit()) && !within(org.apache.tuscany.sca.aspectj.*Aspect)") + @Pointcut("withinScope() && cflow(entry()) && !cflowbelow(exit()) && !within(org.apache.tuscany.sca.aspectj.*Aspect)") void trace() { } diff --git a/sandbox/rfeng/aop-logging/src/test/java/org/apache/tuscany/sca/aspectj/MyTracingAspect.java b/sandbox/rfeng/aop-logging/src/test/java/org/apache/tuscany/sca/aspectj/MyTracingAspect.java index a6e9f90518..4babfcca65 100644 --- a/sandbox/rfeng/aop-logging/src/test/java/org/apache/tuscany/sca/aspectj/MyTracingAspect.java +++ b/sandbox/rfeng/aop-logging/src/test/java/org/apache/tuscany/sca/aspectj/MyTracingAspect.java @@ -41,6 +41,10 @@ public class MyTracingAspect extends TracingAspect { @Pointcut("execution(* org.apache.tuscany.sca.aspectj.TracingTestCase.testAOP(..))") protected void entry() { } + + @Pointcut("within(org.apache.tuscany.sca..*)") + protected void withinScope() { + } @Override protected void logEnter(StaticPart jp) { |