[jboss-cvs] JBossAS SVN: r77079 - projects/aop/trunk/aop/src/main/org/jboss/aop.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Aug 14 15:09:23 EDT 2008
Author: flavia.rainone at jboss.com
Date: 2008-08-14 15:09:23 -0400 (Thu, 14 Aug 2008)
New Revision: 77079
Modified:
projects/aop/trunk/aop/src/main/org/jboss/aop/ClassInstanceAdvisor.java
Log:
[JBAOP-617] To play on the safe side, added a check to ClassInstanceAdvisor finalize method, to verify if advisor
and the advised class are not null before invoking hotswap... Of course, wouldn't it do this check and get a NPE,
the JVM would ignore the exception as it is being thrown by a finalize method.
Just avoiding useless exceptions here.
Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/ClassInstanceAdvisor.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/ClassInstanceAdvisor.java 2008-08-14 19:05:14 UTC (rev 77078)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/ClassInstanceAdvisor.java 2008-08-14 19:09:23 UTC (rev 77079)
@@ -354,11 +354,24 @@
*/
protected void finalize()
{
- ClassLoader classLoader = getClassAdvisor().getClazz().getClassLoader();
- if (this.interceptorChainObserver == null || !AspectManager.getRegisteredCLs().containsKey(classLoader))
+ Advisor advisor = getClassAdvisor();
+ // gc'ed
+ if (advisor == null)
{
return;
}
+ Class<?> advisedClass = advisor.getClazz();
+ // gc'ed
+ if (advisedClass == null)
+ {
+ return;
+ }
+ ClassLoader classLoader = advisedClass.getClassLoader();
+ if (this.interceptorChainObserver == null ||
+ !AspectManager.getRegisteredCLs().containsKey(classLoader))
+ {
+ return;
+ }
this.interceptorChainObserver.allInstanceInterceptorsRemoved(this);
}
More information about the jboss-cvs-commits
mailing list