Jan 19th, 2010, 06:37 PM
application server gives weird AspectJ error
I was really excited by the Insight video, and I tried it out with the PetClinic app and it seemed to work very well.
Then I tried it with my much larger app, and I got a very strange error message:
[TomcatAspectJWeavingClassLoader@1552b76] abort trouble in:
public class com.myapp.impl.DisciplinaryActionImpl extends java.lang.Object implements com.myapp.DisciplinaryAction:
private Long id
private Long affectedUserId
private Long actorId
private java.util.Date creationDate
(a lot more stuff here)
end public class com.myapp.impl.DisciplinaryActionImpl
-- (NullPointerException) null
at org.aspectj.weaver.ResolvedMemberImpl.matches(Reso lvedMemberImpl.java:936)
at org.aspectj.weaver.ResolvedType.lookupResolvedMemb er(ResolvedType.java:439)
at org.aspectj.weaver.JoinPointSignatureIterator.find SignaturesFromSupertypes(JoinPointSignatureIterato r.java:200)
at org.aspectj.weaver.JoinPointSignatureIterator.hasN ext(JoinPointSignatureIterator.java:74)
at org.aspectj.weaver.patterns.SignaturePattern.match es(SignaturePattern.java:291)
at org.aspectj.weaver.patterns.KindedPointcut.matchIn ternal(KindedPointcut.java:106)
at org.aspectj.weaver.patterns.Pointcut.match(Pointcu t.java:146)
(and then a lot more lines in the stack trace)
Any idea why I would get an error like this? I don't actually use AspectJ for anything, and the only version I can find belongs to SpringSource tcServer (aspectjweaver-1.6.6.jar). I'd appreciate any suggestions. I'm using Windows 7, and I've tried it on both a 64 bit Java 6 JDK and a 32-bit Java 5 JDK.
Jan 19th, 2010, 07:03 PM
Hi Brandon. AspectJ 1.6.6 did have some issues when weaving into large apps. The AspectJ team has been fixing these as they come up and as of 1.6.8 they have fixed as much as they are able to replicate.
We have a new version of Insight coming out within the next couple weeks which will be using this newer version of AspectJ which will likely fix your problem.
If you want to quickly try that fix, simply download:
Remove the old weaver & plop in this new one (in tomcat/lib or server/lib). Likely the one you have is 1.6.6.
Let me know if this fixes your issue.
Jan 20th, 2010, 12:23 AM
Wow, that was EXACTLY my problem! I spent hours trying to figure that out! I could kiss you, but I won't because Insight has now revealed all sorts of stupid mistakes I made (holy cow, I'm not caching that repository call I make 15 times in that one request? And it's a different transaction every time? And it's not read-only?!)