[jboss-cvs] JBossAS SVN: r69552 - in projects/aop/branches/deadlocks/aop/src/main/org/jboss/aop: advice/annotation and 1 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Feb 1 18:27:38 EST 2008


Author: flavia.rainone at jboss.com
Date: 2008-02-01 18:27:38 -0500 (Fri, 01 Feb 2008)
New Revision: 69552

Modified:
   projects/aop/branches/deadlocks/aop/src/main/org/jboss/aop/AspectManager.java
   projects/aop/branches/deadlocks/aop/src/main/org/jboss/aop/advice/annotation/AdviceMethodFactory.java
   projects/aop/branches/deadlocks/aop/src/main/org/jboss/aop/instrument/JoinPointGenerator.java
Log:
[JBAOP-499] Uncommented, temporary workaround to a specific deadlock scenario. This fix still requires further validation.

Modified: projects/aop/branches/deadlocks/aop/src/main/org/jboss/aop/AspectManager.java
===================================================================
--- projects/aop/branches/deadlocks/aop/src/main/org/jboss/aop/AspectManager.java	2008-02-01 23:01:08 UTC (rev 69551)
+++ projects/aop/branches/deadlocks/aop/src/main/org/jboss/aop/AspectManager.java	2008-02-01 23:27:38 UTC (rev 69552)
@@ -62,6 +62,7 @@
 import org.jboss.aop.instrument.GeneratedAdvisorInstrumentor;
 import org.jboss.aop.instrument.Instrumentor;
 import org.jboss.aop.instrument.InstrumentorFactory;
+import org.jboss.aop.instrument.JoinPointGenerator;
 import org.jboss.aop.instrument.TransformerCommon;
 import org.jboss.aop.introduction.AnnotationIntroduction;
 import org.jboss.aop.introduction.InterfaceIntroduction;
@@ -240,6 +241,7 @@
     */
    public static synchronized AspectManager instance(ClassLoader loadingClassLoader)
    {
+      JoinPointGenerator.loadEverything();
       AspectManager result = initManager();
       if (classLoaderScopingPolicy != null)
       {

Modified: projects/aop/branches/deadlocks/aop/src/main/org/jboss/aop/advice/annotation/AdviceMethodFactory.java
===================================================================
--- projects/aop/branches/deadlocks/aop/src/main/org/jboss/aop/advice/annotation/AdviceMethodFactory.java	2008-02-01 23:01:08 UTC (rev 69551)
+++ projects/aop/branches/deadlocks/aop/src/main/org/jboss/aop/advice/annotation/AdviceMethodFactory.java	2008-02-01 23:27:38 UTC (rev 69552)
@@ -578,4 +578,11 @@
    {
       boolean matches(AdviceMethodProperties p);
    }
+   
+   public static String loadEverything()
+   {
+      StringBuffer buffer = new StringBuffer();
+      buffer.append(ParameterAnnotationRule.class.getName());
+      return buffer.toString();
+   }
 }
\ No newline at end of file

Modified: projects/aop/branches/deadlocks/aop/src/main/org/jboss/aop/instrument/JoinPointGenerator.java
===================================================================
--- projects/aop/branches/deadlocks/aop/src/main/org/jboss/aop/instrument/JoinPointGenerator.java	2008-02-01 23:01:08 UTC (rev 69551)
+++ projects/aop/branches/deadlocks/aop/src/main/org/jboss/aop/instrument/JoinPointGenerator.java	2008-02-01 23:27:38 UTC (rev 69552)
@@ -57,12 +57,14 @@
 import org.jboss.aop.advice.InvalidAdviceException;
 import org.jboss.aop.advice.NoMatchingAdviceException;
 import org.jboss.aop.advice.Scope;
+import org.jboss.aop.advice.annotation.AdviceMethodFactory;
 import org.jboss.aop.joinpoint.Invocation;
 import org.jboss.aop.joinpoint.JoinPointBean;
 import org.jboss.aop.pointcut.ast.ASTCFlowExpression;
 import org.jboss.aop.pointcut.ast.ClassExpression;
 import org.jboss.aop.util.JavassistUtils;
 import org.jboss.aop.util.ReflectToJavassist;
+import org.jboss.aop.util.ReflectUtils;
 import org.jboss.aop.util.logging.AOPLogger;
 import org.jboss.logging.Logger;
 import org.jboss.util.loading.Translatable;
@@ -2222,5 +2224,29 @@
    protected Field getJoinpointField()
    {
       return joinpointField;
-   }  
+   }
+   
+   public static String loadEverything()
+   {
+      StringBuffer buffer = new StringBuffer();
+      buffer.append(JoinPointGenerator.AfterAdviceCallStrategy.class.getName());
+      buffer.append(JoinPointGenerator.AfterAdviceCallStrategy.getInstance());
+      buffer.append(JoinPointGenerator.AroundAdviceCallStrategy.class.getName());
+      buffer.append(JoinPointGenerator.DefaultAdviceCallStrategy.class.getName());
+      buffer.append(JoinPointGenerator.GeneratedClassInfo.class.getName());
+      buffer.append(JoinPointGenerator.GenerateJoinPointClassAction.class.getName());
+      buffer.append(JoinPointGenerator.JoinPointParameters.class.getName());
+      buffer.append(JoinPointGenerator.AdviceSetups.class.getName());
+      buffer.append(JoinPointGenerator.AdviceSetup.class.getName());
+      buffer.append(AdviceMethodProperties.class.getName());
+      buffer.append(AdviceMethodProperties.OptionalParameters.class.getName());
+      buffer.append(ReflectUtils.class.getName());
+      buffer.append(AdviceMethodFactory.loadEverything());
+      try
+      {
+         AroundAdviceCallStrategy.getInstance().addInvokeCode(null, null, buffer, null);
+      }
+      catch(Throwable t) {}
+      return buffer.toString();
+   }
 }
\ No newline at end of file




More information about the jboss-cvs-commits mailing list