Hi,
I’ve just had an interesting experience using LTW.
I’d gone through my weaveinfo log looking at items
where no weaving was reported, and filtering out a good chunk of those from
being considered for weaving by using <exclude within=…/> in my
aop.xml.
I then found that some around call() advice tried to call a
non-existent method.
It turns out that not all weaving activity is reported in
weaveinfo messages, as, in this case, the around call() expected to see the
method added to the target class.
Is this different behaviour to compile time weaving?
It seems fair to add a method at load time to any target
class, but at compile time, that class may be in a JAR that’s not getting
woven.
Seems to me that it would be useful for me to look to enhance
the “debug weaving…” message, to say whether the class was
modified or not, as I was relying on the subsequent weaveinfo message, which
clearly doesn’t give the whole picture.
If the above behaviour is correct, I’ll dig into the
debug messages and make them unambiguous.
Cheers,
Neale