Hi Jim, > I made a minimal test app and ran it twice - one with it set to fail and one > to pass (just commenting out a link that links to code that uses > HttpSession).
so to make it pass you uncomment a reference to code that uses HttpSession? Thus causing HttpSession to be actively referred to? I might be interested in the 'debug' messages that indicate when types are being passed to the weaver, rather than just the weaveinfo messages. It is possibly due to the use of call pointcuts and intertype declarations with load time weaving. There are known issues here because types don't always get loaded in the order we'd like and yet we have no control because in LTW AspectJ is not in charge, it is at the mercy of the classloader that is using it. Altering the loading order (by doing what you have mentioned - making references to types more explicit) can address this problem sometimes. However, your scenario is a little bit complex, so I can't tell for certain that you are suffering from this problem. > For the success one, it looks like the code is only being weaved after the > tests have started. Don't you mean that in the success case HttpSession is woven before the tests start? In the failure case it seems to be doing the weave too late (after the tests have started). I see a differing ordering in the weaveinfo messages relating to method-execution and method-call. I think again it may help to have the 'debug' messages as they will show the load ordering for the types - seeing that difference may give us a bit more to go on. I think it is worth raising a bug for this so we can sort it out: https://bugs.eclipse.org/bugs/enter_bug.cgi?product=AspectJ Andy. _______________________________________________ aspectj-users mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/aspectj-users
