In my application I wrote the following code:
URL url = getClass().getProtectionDomain().getCodeSource().getLocation();
If the application runs under normal JVM, the url contains valid value. However, when the application runs under the control of JbossAOP (the JVM startups with parameter: -Djava.system.class.loader=org.jboss.aop.standalone.SystemClassLoader ), the url is null.
Although the interceptor I wrote can work well, my application can not work properly because it relies on the url.
I am not sure what this problem results from.
class load time transformations don't work well outside of JBoss. I haven't put a lot of thought or time into them yet. Precompilation will work in this case.
If you're interested in helping with class loader time transformations, let me know. I know what needs to be done, I just haven't had the time to do it yet.