[jboss-cvs] JBossAS SVN: r86690 - projects/bootstrap/trunk/src/main/java/org/jboss/bootstrap.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Apr 2 16:29:49 EDT 2009


Author: ALRubinger
Date: 2009-04-02 16:29:49 -0400 (Thu, 02 Apr 2009)
New Revision: 86690

Modified:
   projects/bootstrap/trunk/src/main/java/org/jboss/bootstrap/ServerLoader.java
Log:
[JBBOOT-23] close() on URLCL

Modified: projects/bootstrap/trunk/src/main/java/org/jboss/bootstrap/ServerLoader.java
===================================================================
--- projects/bootstrap/trunk/src/main/java/org/jboss/bootstrap/ServerLoader.java	2009-04-02 19:47:03 UTC (rev 86689)
+++ projects/bootstrap/trunk/src/main/java/org/jboss/bootstrap/ServerLoader.java	2009-04-02 20:29:49 UTC (rev 86690)
@@ -23,17 +23,16 @@
 
 //$Id$
 
+import java.io.Closeable;
 import java.io.File;
 import java.io.IOException;
 import java.net.MalformedURLException;
 import java.net.URISyntaxException;
 import java.net.URL;
 import java.net.URLClassLoader;
-import java.util.HashSet;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Properties;
-import java.util.Set;
 import java.util.StringTokenizer;
 
 import org.jboss.bootstrap.spi.Server;
@@ -313,11 +312,12 @@
       Server server;
       ClassLoader oldCL = Thread.currentThread().getContextClassLoader();
 
+      URLClassLoader classLoader = null;
       try
       {
          // get the boot lib list
          URL[] urls = getBootClasspath();
-         URLClassLoader classLoader = new NoAnnotationURLClassLoader(urls, parent);
+         classLoader = new NoAnnotationURLClassLoader(urls, parent);
          Thread.currentThread().setContextClassLoader(classLoader);
            
          /*
@@ -338,6 +338,22 @@
       finally
       {
          Thread.currentThread().setContextClassLoader(oldCL);
+         
+         /*
+          * Close the URLCL, if JDK7+
+          * JBBOOT-23
+          */
+         if (classLoader != null && Closeable.class.isAssignableFrom(classLoader.getClass()))
+         {
+            try
+            {
+               ((Closeable) classLoader).close();
+            }
+            catch (IOException ioe)
+            {
+               // Swallow
+            }
+         }
       }
 
       // thats all folks, have fun




More information about the jboss-cvs-commits mailing list