[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[aspectj-users] StackOverflowError
|
i'm getting this error:
Exception in thread "main" java.lang.StackOverflowError
at
java.lang.ThreadLocal$ThreadLocalMap.access$000(ThreadLocal.java:225)
at java.lang.ThreadLocal.get(ThreadLocal.java:127)
at
org.aspectj.runtime.internal.cflowstack.ThreadStackFactoryImpl$ThreadCounterImpl.getThreadCounter(ThreadStackFactoryImpl.java:38)
at
org.aspectj.runtime.internal.cflowstack.ThreadStackFactoryImpl$ThreadCounterImpl.isNotZero(ThreadStackFactoryImpl.java:43)
at
org.aspectj.runtime.internal.CFlowCounter.isValid(CFlowCounter.java:45)
at
TrackHelloWorld.ajc$after$TrackHelloWorld$3$1633d7b6(TrackHelloWorld.aj:20)
at
TrackHelloWorld.ajc$after$TrackHelloWorld$3$1633d7b6(TrackHelloWorld.aj:20)
at
TrackHelloWorld.ajc$after$TrackHelloWorld$3$1633d7b6(TrackHelloWorld.aj:20)
at
TrackHelloWorld.ajc$after$TrackHelloWorld$3$1633d7b6(TrackHelloWorld.aj:20)
at
TrackHelloWorld.ajc$after$TrackHelloWorld$3$1633d7b6(TrackHelloWorld.aj:20)
at
TrackHelloWorld.ajc$after$TrackHelloWorld$3$1633d7b6(TrackHelloWorld.aj:20)
at
TrackHelloWorld.ajc$after$TrackHelloWorld$3$1633d7b6(TrackHelloWorld.aj:20)
at
TrackHelloWorld.ajc$after$TrackHelloWorld$3$1633d7b6(TrackHelloWorld.aj:20)
%------CUT MORE LINES LIKE THE ABOVE ONES-----%
this is the TrackHelloWorld aspect:
public aspect TrackHelloWorld {
pointcut printing(): execution(* ServerImpl.print(..));
pointcut doNothing(): execution(* ServerImpl.doNothing());
pointcut nestedCall(): cflow(printing());
before(): printing() {
//System.out.println("Before printing...");
}
after(): printing() {
//System.out.println("After printing...");
}
after(): nestedCall(){};
}
and this is the ServerImpl :
public class ServerImpl implements Service, ServiceAttributes {
private String header = "";
private int count = 0;
public void print (final String msg) {
doNothing();
return;
}
public String getHeader () {
return header;
}
public void setHeader (final String header) {
this.header = header;
}
public int getCount () {
return count;
}
public void setCount (final int count) {
this.count = count;
}
public void doNothing() {
return;
}
}
what I do is to call the print() method thousands of times (say 100K,
but i have to get even higher) to see
processing time.
i defined the cflow pointcut to be able to capture the calls to
doNothing() when occuring from inside the print(String s) method.
I get the error even if I call the method only 1 or 10 (or less then
thousands) times.
thanks for any help