[jboss-cvs] JBossAS SVN: r60381 - branches/Branch_4_2/aspects/src/main/org/jboss/aop/deployment.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed Feb 7 11:10:34 EST 2007
Author: kabir.khan at jboss.com
Date: 2007-02-07 11:10:34 -0500 (Wed, 07 Feb 2007)
New Revision: 60381
Modified:
branches/Branch_4_2/aspects/src/main/org/jboss/aop/deployment/JBossClassPoolFactory.java
Log:
[JBAOP-254] Add a few retries for the createTempDir() - "Access Is Denied" problem
Modified: branches/Branch_4_2/aspects/src/main/org/jboss/aop/deployment/JBossClassPoolFactory.java
===================================================================
--- branches/Branch_4_2/aspects/src/main/org/jboss/aop/deployment/JBossClassPoolFactory.java 2007-02-07 16:07:23 UTC (rev 60380)
+++ branches/Branch_4_2/aspects/src/main/org/jboss/aop/deployment/JBossClassPoolFactory.java 2007-02-07 16:10:34 UTC (rev 60381)
@@ -55,7 +55,7 @@
{
if (cl instanceof RepositoryClassLoader)
{
- File tempdir = createTempDir(cl);
+ File tempdir = getTempDirectory(cl);
URL tmpCP = createURLAndAddToLoader(cl, tempdir);
if (AspectManager.scopedCLHelper.ifScopedDeploymentGetScopedParentUclForCL(cl) != null)
{
@@ -72,6 +72,32 @@
}
}
+ private File getTempDirectory(ClassLoader cl)
+ {
+ File tempdir = null;
+ int attempts = 0;
+ IOException ex = null;
+ while (tempdir == null && attempts < 5)
+ {
+ //Workaround for JBAOP-254, retry a few times
+ try
+ {
+ tempdir = createTempDir(cl);
+ }
+ catch (IOException e)
+ {
+ ex = e;
+ }
+ }
+
+ if (tempdir == null)
+ {
+ throw new RuntimeException("", ex);
+ }
+
+ return tempdir;
+ }
+
public ScopedClassPool create(ClassPool src, ScopedClassPoolRepository repository)
{
return new JBossClassPool(src, repository);
More information about the jboss-cvs-commits
mailing list