Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[aspectj-users] How to exclude nested matching method executions?

I have this abstract logging aspect, which instruments *before*, *after
returning* and *after throwing* of certain methods. In addition, there are
two concrete derived aspects, each specifying the set of methods to be
logged. The methods affected by one aspect can be invoked from the methods
affected by the other aspect. Which is fine for *before* and *after
returning*, but problematic for *after throwing*, which should log the
exception only for the lowest method in the call stack.

Here is the abstract aspect declaration:


Here is the first derived concrete aspect:


And here is the second derived concrete aspect:


My question is how to make the *after throwing* advice ignored for a method
A, if it is invoked from a method B, which is also instrumented? The point
of all of this is to have a single exception dump in the log.

I must add that I have read the example in the Programming Guide
(http://www.eclipse.org/aspectj/doc/released/progguide/starting-production.html),
but I am failing to reproduce this behavior with my aspects.

Thank you very much.

--
View this message in context: http://aspectj.2085585.n4.nabble.com/How-to-exclude-nested-matching-method-executions-tp4172075p4172075.html
Sent from the AspectJ - users mailing list archive at Nabble.com.


Back to the top