Author: dblevins
Date: Sun Dec  2 20:25:52 2012
New Revision: 1416250

URL: http://svn.apache.org/viewvc?rev=1416250&view=rev
Log:
temporarily reverting the VMID change so we can get tck numbers on the 
MergeJndiContext change

Modified:
    
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/DeployerEjb.java
    
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/VmDeploymentManager.java

Modified: 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/DeployerEjb.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/DeployerEjb.java?rev=1416250&r1=1416249&r2=1416250&view=diff
==============================================================================
--- 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/DeployerEjb.java
 (original)
+++ 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/DeployerEjb.java
 Sun Dec  2 20:25:52 2012
@@ -16,18 +16,10 @@
  */
 package org.apache.openejb.assembler;
 
-import org.apache.openejb.ClassLoaderUtil;
-import org.apache.openejb.NoSuchApplicationException;
-import org.apache.openejb.OpenEJBException;
-import org.apache.openejb.OpenEJBRuntimeException;
-import org.apache.openejb.UndeployException;
+import org.apache.openejb.*;
 import org.apache.openejb.assembler.classic.AppInfo;
 import org.apache.openejb.assembler.classic.Assembler;
-import org.apache.openejb.config.AppModule;
-import org.apache.openejb.config.ConfigurationFactory;
-import org.apache.openejb.config.DeploymentLoader;
-import org.apache.openejb.config.DeploymentModule;
-import org.apache.openejb.config.WebModule;
+import org.apache.openejb.config.*;
 import org.apache.openejb.config.sys.AdditionalDeployments;
 import org.apache.openejb.config.sys.Deployments;
 import org.apache.openejb.config.sys.JaxbOpenejb;
@@ -44,12 +36,9 @@ import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
-import java.rmi.dgc.VMID;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Properties;
-import java.util.TreeMap;
+import java.math.BigInteger;
+import java.security.SecureRandom;
+import java.util.*;
 
 import static javax.ejb.TransactionManagementType.BEAN;
 import static 
org.apache.openejb.config.ConfigurationFactory.ADDITIONAL_DEPLOYMENTS;
@@ -65,12 +54,32 @@ public class DeployerEjb implements Depl
 
     public static final ThreadLocal<Boolean> AUTO_DEPLOY = new 
ThreadLocal<Boolean>();
 
+    private final static File uniqueFile;
     private final static boolean oldWarDeployer = 
"old".equalsIgnoreCase(SystemInstance.get().getOptions().get("openejb.deployer.war",
 "new"));
 
-    private static final String ID;
-
     static {
-        ID = new VMID().toString();
+        String uniqueName = "OpenEJB-" + new BigInteger(128, new 
SecureRandom()).toString(Character.MAX_RADIX);
+        String tempDir = System.getProperty("java.io.tmpdir");
+        File unique;
+        try {
+            unique = new File(tempDir, uniqueName).getCanonicalFile();
+            unique.createNewFile();
+        } catch (IOException e) {
+            // same trying in work directory
+            unique = new File(SystemInstance.get().getBase().getDirectory(), 
"work");
+            if (unique.exists()) {
+                try {
+                    unique = new File(unique, uniqueName).getCanonicalFile();
+                    unique.createNewFile();
+                } catch (IOException e1) {
+                    throw new OpenEJBRuntimeException(e);
+                }
+            } else {
+                throw new OpenEJBRuntimeException("can't create unique file, 
please set java.io.tmpdir to a writable folder or create work folder", e);
+            }
+        }
+        uniqueFile = unique;
+        uniqueFile.deleteOnExit();
     }
 
     private final DeploymentLoader deploymentLoader;
@@ -83,12 +92,8 @@ public class DeployerEjb implements Depl
         assembler = (Assembler) 
SystemInstance.get().getComponent(org.apache.openejb.spi.Assembler.class);
     }
 
-    public static String id() {
-        return ID;
-    }
-
     public String getUniqueFile() {
-        return ID;
+        return uniqueFile.getAbsolutePath();
     }
 
     public Collection<AppInfo> getDeployedApps() {

Modified: 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/VmDeploymentManager.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/VmDeploymentManager.java?rev=1416250&r1=1416249&r2=1416250&view=diff
==============================================================================
--- 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/VmDeploymentManager.java
 (original)
+++ 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/VmDeploymentManager.java
 Sun Dec  2 20:25:52 2012
@@ -21,7 +21,6 @@ import org.apache.openejb.OpenEJBExcepti
 import org.apache.openejb.OpenEJBRuntimeException;
 import org.apache.openejb.UndeployException;
 import org.apache.openejb.assembler.Deployer;
-import org.apache.openejb.assembler.DeployerEjb;
 import org.apache.openejb.assembler.classic.AppInfo;
 import org.apache.openejb.assembler.classic.ClientInfo;
 import org.apache.openejb.assembler.classic.ConnectorInfo;
@@ -125,7 +124,7 @@ public class VmDeploymentManager impleme
 
     private boolean isDeployerLocal() {
         if (deployer == null) {
-            deployerLocal = 
DeployerEjb.id().equals(getDeployer().getUniqueFile());
+            deployerLocal = new File(getDeployer().getUniqueFile()).exists();  
          
         }
         return deployerLocal;
     }


Reply via email to