Just wanted to respond back to this thread what the problem is and potential 
resolutions, so it is useful to other people.

This problem with redeployment stems from the fact the the AspectManger inside 
of the AOP framework in certain cases can be loaded inside a different 
ClassLoader than the aspected classes it is servicing.

So, in my particular case, my deployment being scoped, causes my classes to be 
loaded, and unloaded on redeployment inside a different classloader than the 
AspectManager.

Now, why is that a problem? The AspectMangager keeps a cache of ClassAdvisors 
that have been inited (sets up invocations chains, interceptors, etc), that is 
keyed off the class name only. So, when the same class from a different 
ClassLoader is presented, the cached version of the ClassAdvisor is returned, 
and none of the initilization code is ran -- hence the NPE if the previous 
version of the class has been unloaded.

It is now a known issue, and hopfully will be fixed soon. As a workaround,  if 
you scope the classloading of your deployment, and include the JBoss AOP jar 
files inside your deployment, this will cause the AspectManager to be scoped to 
your deployment, and hence will hand out accurate ClassAdvisors on redeployment.

View the original post : 
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3854288#3854288

Reply to the post : 
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3854288


-------------------------------------------------------
This SF.Net email is sponsored by:
Sybase ASE Linux Express Edition - download now for FREE
LinuxWorld Reader's Choice Award Winner for best database on Linux.
http://ads.osdn.com/?ad_id=5588&alloc_id=12065&op=click
_______________________________________________
JBoss-Development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to