[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[aspectj-users] Beginner question: intercepting method within a certain context
|
Hi,
I'm an AspectJ beginner and have the following problem:
I
want to add an aspect after a method call but only when it is done in a
certain context (see following pseudo-code):
class Dispatcher:
public void dispatch(MessageInvocation invocation) {
new
Thread(new Runnable() {
@Override
public
void run() {
// do some stuff...
do {
if (lock.tryLock()) {
try
{
messageInvocation.invoke();
} finally {
lock.unlock()
}
}
} while (someCondition)
}
}).start();
I want to intercept
the invoke() method of MethodInvocation, but only when it is called in
the context of the dispatch method in class Dispatch. Is this possible? I
tried to use within / withincode but without success - but maybe I'm
just getting the pointcut definition wrong (I use Annotation style):
@After("execution(* my.package.MessageInvocation.
invoke(..))
&& withincode(* Dispatcher.dispatch(..))")
Any help
appreciated.
Thanks
Michael Kober