[jboss-cvs] JBossAS SVN: r60352 - trunk/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:49:36 EST 2007
Author: scott.stark at jboss.org
Date: 2007-02-06 17:49:36 -0500 (Tue, 06 Feb 2007)
New Revision: 60352
Modified:
trunk/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: trunk/jmx/src/main/org/jboss/mx/loading/LoadMgr3.java
===================================================================
--- trunk/jmx/src/main/org/jboss/mx/loading/LoadMgr3.java 2007-02-06 22:48:35 UTC (rev 60351)
+++ trunk/jmx/src/main/org/jboss/mx/loading/LoadMgr3.java 2007-02-06 22:49:36 UTC (rev 60352)
@@ -174,6 +174,8 @@
return true;
}
+ if( task.classname.equals("com.sun.ts.tests.webservices.deploy.warDeploy.HelloJavaBean") )
+ log.info("Saw "+task.classname);
// Next get the set of class loaders from the packages map
Set pkgSet = repository.getPackageClassLoaders(task.classname);
if( pkgSet == null || pkgSet.size() == 0 )
@@ -303,6 +305,8 @@
if( trace )
log.trace("End beginLoadTask, ClassNotFoundException");
String msg = "No ClassLoaders found for: "+task.classname;
+ if( task.classname.equals("com.sun.ts.tests.webservices.deploy.warDeploy.HelloJavaBean") )
+ log.info("Saw "+task.classname);
throw new ClassNotFoundException(msg);
}
@@ -401,7 +405,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,7 +419,7 @@
// 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);
More information about the jboss-cvs-commits
mailing list