[jboss-cvs] JBossAS SVN: r64168 - projects/aop/trunk/aop/src/main/org/jboss/aop.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri Jul 20 23:56:42 EDT 2007
Author: flavia.rainone at jboss.com
Date: 2007-07-20 23:56:42 -0400 (Fri, 20 Jul 2007)
New Revision: 64168
Modified:
projects/aop/trunk/aop/src/main/org/jboss/aop/AdvisorFactory.java
Log:
[JBAOP-443] Bug solved.
Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/AdvisorFactory.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/AdvisorFactory.java 2007-07-21 03:54:32 UTC (rev 64167)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/AdvisorFactory.java 2007-07-21 03:56:42 UTC (rev 64168)
@@ -23,6 +23,8 @@
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
+import java.security.AccessController;
+import java.security.PrivilegedExceptionAction;
import javassist.CtClass;
@@ -113,7 +115,26 @@
//Generated advisors need to be initialised via the class itself
try
{
- Method getAdvisor = loadedClass.getMethod(GeneratedAdvisorInstrumentor.GET_CLASS_ADVISOR, NO_ARGS);
+ final Method getAdvisor = loadedClass.getMethod(GeneratedAdvisorInstrumentor.GET_CLASS_ADVISOR, NO_ARGS);
+ if (!getAdvisor.isAccessible())
+ {
+ if (System.getSecurityManager() == null)
+ {
+ getAdvisor.setAccessible(true);
+ }
+ else
+ {
+ AccessController.doPrivileged(
+ new PrivilegedExceptionAction<Object>()
+ {
+ public Object run() throws Exception
+ {
+ getAdvisor.setAccessible(true);
+ return null;
+ }
+ });
+ }
+ }
ClassAdvisor advisor = (ClassAdvisor)getAdvisor.invoke(null, null);
if (advisor != null && advisor.getClazz() == loadedClass)
{
More information about the jboss-cvs-commits
mailing list