You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2012/10/12 16:00:11 UTC

svn commit: r1397569 - in /openejb/trunk/openejb: container/openejb-core/src/main/java/org/apache/openejb/assembler/DeployerEjb.java tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java

Author: rmannibucau
Date: Fri Oct 12 14:00:11 2012
New Revision: 1397569

URL: http://svn.apache.org/viewvc?rev=1397569&view=rev
Log:
managing autodeploy attribute (with new deployer style)

Modified:
    openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/DeployerEjb.java
    openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.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=1397569&r1=1397568&r2=1397569&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 Fri Oct 12 14:00:11 2012
@@ -23,6 +23,7 @@ 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;
+import org.apache.openejb.core.ThreadContext;
 import org.apache.openejb.loader.IO;
 import org.apache.openejb.loader.SystemInstance;
 import org.apache.openejb.util.LogCategory;
@@ -52,6 +53,8 @@ public class DeployerEjb implements Depl
     public static final String OPENEJB_DEPLOYER_FORCED_APP_ID_PROP = "openejb.deployer.forced.appId";
     public static final Logger LOGGER = Logger.getInstance(LogCategory.OPENEJB, DeployerEjb.class);
 
+    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"));
 
@@ -121,10 +124,16 @@ public class DeployerEjb implements Depl
         AppModule appModule = null;
 
         final File file = new File(realLocation(rawLocation));
+        final boolean autoDeploy = Boolean.parseBoolean(properties.getProperty("openejb.app.autodeploy", "false"));
 
         if (WebAppDeployer.Helper.isWebApp(file) && !oldWarDeployer) {
-            return SystemInstance.get().getComponent(WebAppDeployer.class)
+            AUTO_DEPLOY.set(autoDeploy);
+            try {
+                return SystemInstance.get().getComponent(WebAppDeployer.class)
                         .deploy(contextRoot(properties, file.getAbsolutePath()), file);
+            } finally {
+                AUTO_DEPLOY.remove();
+            }
         }
 
         AppInfo appInfo;
@@ -179,7 +188,7 @@ public class DeployerEjb implements Depl
             }
 
             appInfo = configurationFactory.configureApplication(appModule);
-            appInfo.autoDeploy = Boolean.parseBoolean(properties.getProperty("openejb.app.autodeploy", "false"));
+            appInfo.autoDeploy = autoDeploy;
 
             if (properties != null && properties.containsKey(OPENEJB_DEPLOYER_FORCED_APP_ID_PROP)) {
                 appInfo.appId = properties.getProperty(OPENEJB_DEPLOYER_FORCED_APP_ID_PROP);

Modified: openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java?rev=1397569&r1=1397568&r2=1397569&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java (original)
+++ openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java Fri Oct 12 14:00:11 2012
@@ -60,6 +60,7 @@ import org.apache.openejb.BeanContext;
 import org.apache.openejb.ClassLoaderUtil;
 import org.apache.openejb.Injection;
 import org.apache.openejb.OpenEJBException;
+import org.apache.openejb.assembler.DeployerEjb;
 import org.apache.openejb.assembler.classic.AppInfo;
 import org.apache.openejb.assembler.classic.Assembler;
 import org.apache.openejb.assembler.classic.ClassListInfo;
@@ -877,6 +878,9 @@ public class TomcatWebAppBuilder impleme
                     contextInfo.standardContext = standardContext; // ensure to do it before an exception can be thrown
 
                     contextInfo.appInfo = configurationFactory.configureApplication(appModule);
+                    final Boolean autoDeploy = DeployerEjb.AUTO_DEPLOY.get();
+                    contextInfo.appInfo.autoDeploy = autoDeploy == null || autoDeploy;
+                    DeployerEjb.AUTO_DEPLOY.remove();
 
                     appContext = a.createApplication(contextInfo.appInfo, classLoader);
                     // todo add watched resources to context