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