[jboss-cvs] JBossAS SVN: r101761 - in projects/jboss-jca/trunk: fungal/src/main/java/org/jboss/jca/fungal/util and 1 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Mar 3 04:12:49 EST 2010


Author: jesper.pedersen
Date: 2010-03-03 04:12:48 -0500 (Wed, 03 Mar 2010)
New Revision: 101761

Modified:
   projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/fungal/RADeployer.java
   projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/fungal/RADeployment.java
   projects/jboss-jca/trunk/fungal/src/main/java/org/jboss/jca/fungal/util/FileUtil.java
   projects/jboss-jca/trunk/web/src/main/java/org/jboss/jca/web/WARDeployer.java
   projects/jboss-jca/trunk/web/src/main/java/org/jboss/jca/web/WARDeployment.java
Log:
Close files and delete temporary directories

Modified: projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/fungal/RADeployer.java
===================================================================
--- projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/fungal/RADeployer.java	2010-03-03 08:14:54 UTC (rev 101760)
+++ projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/fungal/RADeployer.java	2010-03-03 09:12:48 UTC (rev 101761)
@@ -284,11 +284,12 @@
             throw new IOException("Archive " + url.toExternalForm() + " doesnt exists");
 
          File root = null;
+         File destination = null;
 
          if (f.isFile())
          {
             FileUtil fileUtil = new FileUtil();
-            File destination = new File(SecurityActions.getSystemProperty("jboss.jca.home"), "/tmp/");
+            destination = new File(SecurityActions.getSystemProperty("jboss.jca.home"), "/tmp/");
             root = fileUtil.extract(f, destination);
          }
          else
@@ -566,7 +567,7 @@
 
          log.info("Deployed: " + url.toExternalForm());
 
-         return new RADeployment(url, resourceAdapter, jndiNames, cl);
+         return new RADeployment(url, resourceAdapter, jndiNames, destination, cl);
       }
       catch (DeployException de)
       {

Modified: projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/fungal/RADeployment.java
===================================================================
--- projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/fungal/RADeployment.java	2010-03-03 08:14:54 UTC (rev 101760)
+++ projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/fungal/RADeployment.java	2010-03-03 09:12:48 UTC (rev 101761)
@@ -23,9 +23,11 @@
 package org.jboss.jca.deployers.fungal;
 
 import org.jboss.jca.fungal.deployers.Deployment;
+import org.jboss.jca.fungal.util.FileUtil;
 
 import java.io.Closeable;
 import java.io.IOException;
+import java.io.File;
 import java.net.URL;
 import java.util.List;
 
@@ -54,6 +56,9 @@
    /** JNDI names for connection factories */
    private List<String> jndiNames;
 
+   /** The temporary directory */
+   private File tmpDirectory;
+
    /** The classloader */
    private ClassLoader cl;
 
@@ -62,13 +67,15 @@
     * @param deployment The deployment
     * @param ra The resource adapter instance if present
     * @param jndiNames The JNDI names for connection factories
+    * @param tmpDirectory The temporary directory
     * @param cl The classloader for the deployment
     */
-   public RADeployment(URL deployment, ResourceAdapter ra, List<String> jndiNames, ClassLoader cl)
+   public RADeployment(URL deployment, ResourceAdapter ra, List<String> jndiNames, File tmpDirectory, ClassLoader cl)
    {
       this.deployment = deployment;
       this.ra = ra;
       this.jndiNames = jndiNames;
+      this.tmpDirectory = tmpDirectory;
       this.cl = cl;
    }
 
@@ -160,6 +167,19 @@
          }
       }
 
+      if (tmpDirectory != null && tmpDirectory.exists())
+      {
+         try
+         {
+            FileUtil fu = new FileUtil();
+            fu.recursiveDelete(tmpDirectory);
+         }
+         catch (IOException ioe)
+         {
+            // Ignore
+         }
+      }
+
       log.info("Undeployed: " + deployment.toExternalForm());
    }
 }

Modified: projects/jboss-jca/trunk/fungal/src/main/java/org/jboss/jca/fungal/util/FileUtil.java
===================================================================
--- projects/jboss-jca/trunk/fungal/src/main/java/org/jboss/jca/fungal/util/FileUtil.java	2010-03-03 08:14:54 UTC (rev 101760)
+++ projects/jboss-jca/trunk/fungal/src/main/java/org/jboss/jca/fungal/util/FileUtil.java	2010-03-03 09:12:48 UTC (rev 101761)
@@ -261,6 +261,8 @@
          }
       }
 
+      jar.close();
+
       return target;
    }
 

Modified: projects/jboss-jca/trunk/web/src/main/java/org/jboss/jca/web/WARDeployer.java
===================================================================
--- projects/jboss-jca/trunk/web/src/main/java/org/jboss/jca/web/WARDeployer.java	2010-03-03 08:14:54 UTC (rev 101760)
+++ projects/jboss-jca/trunk/web/src/main/java/org/jboss/jca/web/WARDeployer.java	2010-03-03 09:12:48 UTC (rev 101761)
@@ -159,7 +159,7 @@
 
          log.info("Deployed: " + url.toExternalForm());
 
-         return new WARDeployment(url, webapp, parent);
+         return new WARDeployment(url, webapp, tmpDeployment, parent);
       }
       catch (Exception e)
       {

Modified: projects/jboss-jca/trunk/web/src/main/java/org/jboss/jca/web/WARDeployment.java
===================================================================
--- projects/jboss-jca/trunk/web/src/main/java/org/jboss/jca/web/WARDeployment.java	2010-03-03 08:14:54 UTC (rev 101760)
+++ projects/jboss-jca/trunk/web/src/main/java/org/jboss/jca/web/WARDeployment.java	2010-03-03 09:12:48 UTC (rev 101761)
@@ -23,8 +23,10 @@
 package org.jboss.jca.web;
 
 import org.jboss.jca.fungal.deployers.Deployment;
+import org.jboss.jca.fungal.util.FileUtil;
 
 import java.io.Closeable;
+import java.io.File;
 import java.io.IOException;
 import java.net.URL;
 
@@ -46,6 +48,9 @@
    /** The handler */
    private Handler handler;
 
+   /** The temporary directory */
+   private File tmpDirectory;
+
    /** The classloader */
    private ClassLoader cl;
 
@@ -53,12 +58,14 @@
     * Constructor
     * @param archive The archive
     * @param handler The handler
+    * @param tmpDirectory The temporary directory
     * @param cl The classloader for the deployment
     */
-   public WARDeployment(URL archive, Handler handler, ClassLoader cl)
+   public WARDeployment(URL archive, Handler handler, File tmpDirectory, ClassLoader cl)
    {
       this.archive = archive;
       this.handler = handler;
+      this.tmpDirectory = tmpDirectory;
       this.cl = cl;
    }
 
@@ -87,6 +94,21 @@
    {
       log.debug("Undeploying: " + archive.toExternalForm());
 
+      if (handler != null)
+      {
+         try
+         {
+            handler.stop();
+         }
+         catch (Exception e)
+         {
+            // Ignore
+         }
+
+         handler.destroy();
+         handler = null;
+      }
+
       if (cl != null && cl instanceof Closeable)
       {
          try
@@ -99,6 +121,19 @@
          }
       }
 
+      if (tmpDirectory != null && tmpDirectory.exists())
+      {
+         try
+         {
+            FileUtil fu = new FileUtil();
+            fu.recursiveDelete(tmpDirectory);
+         }
+         catch (IOException ioe)
+         {
+            // Ignore
+         }
+      }
+
       log.info("Undeployed: " + archive.toExternalForm());
    }
 }




More information about the jboss-cvs-commits mailing list