[jboss-cvs] JBossAS SVN: r95964 - projects/jboss-jca/trunk/fungal/src/main/java/org/jboss/jca/fungal/impl.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue Nov 3 11:35:13 EST 2009
Author: jesper.pedersen
Date: 2009-11-03 11:35:13 -0500 (Tue, 03 Nov 2009)
New Revision: 95964
Modified:
projects/jboss-jca/trunk/fungal/src/main/java/org/jboss/jca/fungal/impl/KernelClassLoader.java
projects/jboss-jca/trunk/fungal/src/main/java/org/jboss/jca/fungal/impl/KernelImpl.java
Log:
[JBJCA-213] KernelClassLoader should implement Closeable
Modified: projects/jboss-jca/trunk/fungal/src/main/java/org/jboss/jca/fungal/impl/KernelClassLoader.java
===================================================================
--- projects/jboss-jca/trunk/fungal/src/main/java/org/jboss/jca/fungal/impl/KernelClassLoader.java 2009-11-03 16:19:44 UTC (rev 95963)
+++ projects/jboss-jca/trunk/fungal/src/main/java/org/jboss/jca/fungal/impl/KernelClassLoader.java 2009-11-03 16:35:13 UTC (rev 95964)
@@ -22,6 +22,8 @@
package org.jboss.jca.fungal.impl;
+import java.io.Closeable;
+import java.io.IOException;
import java.net.URL;
import java.net.URLClassLoader;
import java.util.concurrent.ConcurrentHashMap;
@@ -31,7 +33,7 @@
* Kernel class loader
* @author <a href="mailto:jesper.pedersen at jboss.org">Jesper Pedersen</a>
*/
-public class KernelClassLoader extends URLClassLoader
+public class KernelClassLoader extends URLClassLoader implements Closeable
{
/** Simple types */
private static ConcurrentMap<String, Class<?>> simpleTypes = new ConcurrentHashMap<String, Class<?>>(9);
@@ -73,4 +75,21 @@
return loadClass(name, false);
}
+
+ /**
+ * Close - no operation as shutdown needs to be called explicit
+ * @exception IOException Thrown if an error occurs
+ */
+ public void close() throws IOException
+ {
+ }
+
+ /**
+ * Shutdown
+ * @exception IOException Thrown if an error occurs
+ */
+ public void shutdown() throws IOException
+ {
+ // Implement this by calling super.close() when JDK7
+ }
}
Modified: projects/jboss-jca/trunk/fungal/src/main/java/org/jboss/jca/fungal/impl/KernelImpl.java
===================================================================
--- projects/jboss-jca/trunk/fungal/src/main/java/org/jboss/jca/fungal/impl/KernelImpl.java 2009-11-03 16:19:44 UTC (rev 95963)
+++ projects/jboss-jca/trunk/fungal/src/main/java/org/jboss/jca/fungal/impl/KernelImpl.java 2009-11-03 16:35:13 UTC (rev 95964)
@@ -26,7 +26,6 @@
import org.jboss.jca.fungal.deployers.Deployment;
import org.jboss.jca.fungal.impl.remote.CommunicationServer;
-import java.io.Closeable;
import java.io.File;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
@@ -312,12 +311,12 @@
recursiveDelete(root);
}
- // Reset class loader
- if (kernelClassLoader != null && kernelClassLoader instanceof Closeable)
+ // Shutdown kernel class loader
+ if (kernelClassLoader != null)
{
try
{
- ((Closeable)kernelClassLoader).close();
+ kernelClassLoader.shutdown();
}
catch (IOException ioe)
{
@@ -325,6 +324,7 @@
}
}
+ // Reset to the old class loader
SecurityActions.setThreadContextClassLoader(oldClassLoader);
}
More information about the jboss-cvs-commits
mailing list