[jboss-cvs] JBossAS SVN: r60351 - branches/Branch_4_2/jmx/src/main/org/jboss/mx/loading.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Feb 6 17:48:35 EST 2007


Author: scott.stark at jboss.org
Date: 2007-02-06 17:48:35 -0500 (Tue, 06 Feb 2007)
New Revision: 60351

Modified:
   branches/Branch_4_2/jmx/src/main/org/jboss/mx/loading/LoadMgr3.java
Log:
JBAS-4066, Retry if the load error is an instanceof ClassCircularityError
or exactly of type LinkageError.class

Modified: branches/Branch_4_2/jmx/src/main/org/jboss/mx/loading/LoadMgr3.java
===================================================================
--- branches/Branch_4_2/jmx/src/main/org/jboss/mx/loading/LoadMgr3.java	2007-02-06 22:47:18 UTC (rev 60350)
+++ branches/Branch_4_2/jmx/src/main/org/jboss/mx/loading/LoadMgr3.java	2007-02-06 22:48:35 UTC (rev 60351)
@@ -401,7 +401,9 @@
       }
       catch(Throwable e)
       {
-         if( e instanceof ClassCircularityError /*&& taskList.size() > 0 */ )
+         boolean retry = e instanceof ClassCircularityError
+            || e.getClass().equals(LinkageError.class);
+         if( retry )
          {
             /* Reschedule this task after all existing tasks to allow the
             current load tasks which are conflicting to complete.
@@ -413,13 +415,13 @@
                // Reschedule and update the loadTask.threadTaskCount
                scheduleTask(loadTask, ucl3, Integer.MAX_VALUE, true, trace);
             }
-            catch(ClassNotFoundException ex)
+            catch(Throwable ex)
             {
                loadTask.setLoadError(ex);
-               log.warn("Failed to reschedule task after CCE", ex);
+               log.warn("Failed to reschedule task after LinkageError", ex);               
             }
             if( trace )
-               log.trace("Post CCE state, loadTask="+loadTask);
+               log.trace("Post LinkageError state, loadTask="+loadTask);
          }
          else
          {




More information about the jboss-cvs-commits mailing list