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/01/04 23:13:21 UTC
svn commit: r1227348 - in /openejb/trunk/openejb:
container/openejb-core/src/main/java/org/apache/openejb/
container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/
tck/tck-common/src/main/java/org/apache/openejb/tck/impl/ tomee/tomee-...
Author: rmannibucau
Date: Wed Jan 4 22:13:21 2012
New Revision: 1227348
URL: http://svn.apache.org/viewvc?rev=1227348&view=rev
Log:
managing exception through the exception manager when deploying an additional Deployment (openejb.xml)
Added:
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/DeploymentExceptionManager.java
- copied, changed from r1227285, openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/DeploymentExceptionManager.java
Removed:
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/DeploymentExceptionManager.java
Modified:
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/OpenEJB.java
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
openejb/trunk/openejb/tck/tck-common/src/main/java/org/apache/openejb/tck/impl/AbstractContainers.java
openejb/trunk/openejb/tck/tck-common/src/main/java/org/apache/openejb/tck/impl/FullRestartContainer.java
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatLoader.java
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java
openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/OpenEJBListener.java
openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/TomcatHook.java
openejb/trunk/openejb/utils/webdeployer/src/main/java/org/apache/tomee/catalina/deployer/WebappDeployer.java
openejb/trunk/openejb/utils/webdeployer/src/main/java/org/apache/tomee/catalina/facade/ExceptionManagerFacadeBean.java
Modified: openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/OpenEJB.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/OpenEJB.java?rev=1227348&r1=1227347&r2=1227348&view=diff
==============================================================================
--- openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/OpenEJB.java (original)
+++ openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/OpenEJB.java Wed Jan 4 22:13:21 2012
@@ -20,6 +20,8 @@ import java.util.Date;
import java.util.Properties;
import javax.transaction.TransactionManager;
+
+import org.apache.openejb.assembler.classic.DeploymentExceptionManager;
import org.apache.openejb.cdi.CdiBuilder;
import org.apache.openejb.loader.SystemInstance;
import org.apache.openejb.spi.ApplicationServer;
@@ -83,6 +85,8 @@ public final class OpenEJB {
}
SystemInstance system = SystemInstance.get();
+ system.setComponent(DeploymentExceptionManager.class, new DeploymentExceptionManager());
+
system.setComponent(ApplicationServer.class, appServer);
//OWB support. The classloader has to be able to load all OWB components including the ones supplied by OpenEjb.
CdiBuilder.initializeOWB(getClass().getClassLoader());
Modified: openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java?rev=1227348&r1=1227347&r2=1227348&view=diff
==============================================================================
--- openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java (original)
+++ openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java Wed Jan 4 22:13:21 2012
@@ -409,6 +409,11 @@ public class Assembler extends Assembler
// already logged.
} catch (Throwable e) {
logger.error("appNotDeployed", e, appInfo.path);
+
+ final DeploymentExceptionManager exceptionManager = SystemInstance.get().getComponent(DeploymentExceptionManager.class);
+ if (exceptionManager != null && e instanceof Exception) {
+ exceptionManager.saveDelpoymentException(appInfo, (Exception) e);
+ }
}
}
}
Copied: openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/DeploymentExceptionManager.java (from r1227285, openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/DeploymentExceptionManager.java)
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/DeploymentExceptionManager.java?p2=openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/DeploymentExceptionManager.java&p1=openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/DeploymentExceptionManager.java&r1=1227285&r2=1227348&rev=1227348&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/DeploymentExceptionManager.java (original)
+++ openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/DeploymentExceptionManager.java Wed Jan 4 22:13:21 2012
@@ -1,4 +1,4 @@
-package org.apache.tomee.catalina;
+package org.apache.openejb.assembler.classic;
import org.apache.openejb.assembler.classic.AppInfo;
@@ -20,19 +20,19 @@ public class DeploymentExceptionManager
}
};
- public synchronized boolean hasDelpoyementFailed(AppInfo appInfo) {
+ public synchronized boolean hasDelpoymentFailed(AppInfo appInfo) {
return deploymentException.containsKey(appInfo);
}
- public synchronized Exception getDelpoyementException(AppInfo appInfo) {
+ public synchronized Exception getDelpoymentException(AppInfo appInfo) {
return deploymentException.get(appInfo);
}
- public synchronized Exception saveDelpoyementException(AppInfo appInfo, Exception exception) {
+ public synchronized Exception saveDelpoymentException(AppInfo appInfo, Exception exception) {
return deploymentException.put(appInfo, exception);
}
- public synchronized void clearDelpoyementException(AppInfo info) {
+ public synchronized void clearDelpoymentException(AppInfo info) {
deploymentException.remove(info);
}
Modified: openejb/trunk/openejb/tck/tck-common/src/main/java/org/apache/openejb/tck/impl/AbstractContainers.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tck/tck-common/src/main/java/org/apache/openejb/tck/impl/AbstractContainers.java?rev=1227348&r1=1227347&r2=1227348&view=diff
==============================================================================
--- openejb/trunk/openejb/tck/tck-common/src/main/java/org/apache/openejb/tck/impl/AbstractContainers.java (original)
+++ openejb/trunk/openejb/tck/tck-common/src/main/java/org/apache/openejb/tck/impl/AbstractContainers.java Wed Jan 4 22:13:21 2012
@@ -28,6 +28,10 @@ public class AbstractContainers {
protected static final String tmpDir = System.getProperty("java.io.tmpdir");
protected void writeToFile(File file, InputStream archive) {
+ if (!file.getParentFile().exists()) {
+ file.getParentFile().mkdirs();
+ }
+
try {
FileOutputStream fos = new FileOutputStream(file);
byte[] buffer = new byte[4096];
Modified: openejb/trunk/openejb/tck/tck-common/src/main/java/org/apache/openejb/tck/impl/FullRestartContainer.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tck/tck-common/src/main/java/org/apache/openejb/tck/impl/FullRestartContainer.java?rev=1227348&r1=1227347&r2=1227348&view=diff
==============================================================================
--- openejb/trunk/openejb/tck/tck-common/src/main/java/org/apache/openejb/tck/impl/FullRestartContainer.java (original)
+++ openejb/trunk/openejb/tck/tck-common/src/main/java/org/apache/openejb/tck/impl/FullRestartContainer.java Wed Jan 4 22:13:21 2012
@@ -40,6 +40,7 @@ import java.util.Properties;
*/
public class FullRestartContainer extends AbstractContainers implements Containers {
private static final File WEBAPP_DIR = new File(System.getProperty("openejb.home"), "webapps/");
+ private static final File APPS_DIR = new File(System.getProperty("openejb.home"), "apps/");
private RemoteServer server;
private Exception exception;
@@ -60,7 +61,12 @@ public class FullRestartContainer extend
@Override
public boolean deploy(InputStream archive, String name) throws IOException {
- currentFile = new File(WEBAPP_DIR, name);
+ if (name.endsWith("war")) {
+ currentFile = new File(WEBAPP_DIR, name);
+ } else {
+ currentFile = new File(APPS_DIR, name);
+ }
+
System.out.println(currentFile);
writeToFile(currentFile, archive);
@@ -71,6 +77,7 @@ public class FullRestartContainer extend
e.printStackTrace();
throw e;
}
+
return (exception = lookup().exception()) == null;
}
Modified: openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatLoader.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatLoader.java?rev=1227348&r1=1227347&r2=1227348&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatLoader.java (original)
+++ openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatLoader.java Wed Jan 4 22:13:21 2012
@@ -187,7 +187,6 @@ public class TomcatLoader implements Loa
tomcatWebAppBuilder.start();
SystemInstance.get().setComponent(WebAppBuilder.class, tomcatWebAppBuilder);
}
- SystemInstance.get().setComponent(DeploymentExceptionManager.class, new DeploymentExceptionManager());
// Web Services will be installed into the WebDeploymentListeners list
SystemInstance.get().setComponent(WebDeploymentListeners.class, new WebDeploymentListeners());
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=1227348&r1=1227347&r2=1227348&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 Wed Jan 4 22:13:21 2012
@@ -47,6 +47,7 @@ import org.apache.openejb.OpenEJBExcepti
import org.apache.openejb.assembler.classic.AppInfo;
import org.apache.openejb.assembler.classic.Assembler;
import org.apache.openejb.assembler.classic.ConnectorInfo;
+import org.apache.openejb.assembler.classic.DeploymentExceptionManager;
import org.apache.openejb.assembler.classic.EjbJarInfo;
import org.apache.openejb.assembler.classic.InjectionBuilder;
import org.apache.openejb.assembler.classic.JndiEncBuilder;
@@ -597,7 +598,7 @@ public class TomcatWebAppBuilder impleme
if (System.getProperty(TOMEE_EAT_EXCEPTION_PROP) == null) {
final TomEERuntimeException tre = new TomEERuntimeException(e);
DeploymentExceptionManager dem = SystemInstance.get().getComponent(DeploymentExceptionManager.class);
- dem.saveDelpoyementException(contextInfo.appInfo, tre);
+ dem.saveDelpoymentException(contextInfo.appInfo, tre);
throw tre;
}
return;
Modified: openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/OpenEJBListener.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/OpenEJBListener.java?rev=1227348&r1=1227347&r2=1227348&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/OpenEJBListener.java (original)
+++ openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/OpenEJBListener.java Wed Jan 4 22:13:21 2012
@@ -56,10 +56,12 @@ public class OpenEJBListener implements
try {
Properties properties = new Properties();
File webappDir = findOpenEjbWar();
- properties.setProperty("openejb.war", webappDir.getAbsolutePath());
- properties.setProperty("openejb.embedder.source", getClass().getSimpleName());
- TomcatEmbedder.embed(properties, StandardServer.class.getClassLoader());
- listenerInstalled = true;
+ if (webappDir != null) {
+ properties.setProperty("openejb.war", webappDir.getAbsolutePath());
+ properties.setProperty("openejb.embedder.source", getClass().getSimpleName());
+ TomcatEmbedder.embed(properties, StandardServer.class.getClassLoader());
+ listenerInstalled = true;
+ } // webapp can be found lazily in some conditions
} catch (Exception e) {
System.out.println("ERROR: OpenEJB webapp was not found");
// e.printStackTrace(System.err);
Modified: openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/TomcatHook.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/TomcatHook.java?rev=1227348&r1=1227347&r2=1227348&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/TomcatHook.java (original)
+++ openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/TomcatHook.java Wed Jan 4 22:13:21 2012
@@ -148,7 +148,9 @@ class TomcatHook {
if( properties.getProperty("openejb.libs") == null){
throw new NullPointerException("openejb.libs property is not set");
}
-
+
+ final Embedder embedder = new Embedder("org.apache.tomee.catalina.TomcatLoader");
+ SystemInstance.get().setComponent(Embedder.class, embedder);
try {
// create the loader
@@ -159,7 +161,6 @@ class TomcatHook {
// This guy does the magic of squishing the openejb libraries into the parent classloader
// and kicking off the reall integration.
- Embedder embedder = new Embedder("org.apache.tomee.catalina.TomcatLoader");
embedder.init(properties);
} catch (Exception e) {
e.printStackTrace();
Modified: openejb/trunk/openejb/utils/webdeployer/src/main/java/org/apache/tomee/catalina/deployer/WebappDeployer.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/utils/webdeployer/src/main/java/org/apache/tomee/catalina/deployer/WebappDeployer.java?rev=1227348&r1=1227347&r2=1227348&view=diff
==============================================================================
--- openejb/trunk/openejb/utils/webdeployer/src/main/java/org/apache/tomee/catalina/deployer/WebappDeployer.java (original)
+++ openejb/trunk/openejb/utils/webdeployer/src/main/java/org/apache/tomee/catalina/deployer/WebappDeployer.java Wed Jan 4 22:13:21 2012
@@ -41,11 +41,11 @@ import org.apache.openejb.UndeployExcept
import org.apache.openejb.assembler.Deployer;
import org.apache.openejb.assembler.classic.AppInfo;
import org.apache.openejb.assembler.classic.Assembler;
+import org.apache.openejb.assembler.classic.DeploymentExceptionManager;
import org.apache.openejb.assembler.classic.WebAppBuilder;
import org.apache.openejb.loader.FileUtils;
import org.apache.openejb.loader.SystemInstance;
import org.apache.tomcat.util.modeler.Registry;
-import org.apache.tomee.catalina.DeploymentExceptionManager;
import org.apache.tomee.catalina.TomcatWebAppBuilder;
import org.apache.tomee.loader.TomcatHelper;
@@ -118,10 +118,10 @@ public class WebappDeployer implements D
}
final DeploymentExceptionManager dem = SystemInstance.get().getComponent(DeploymentExceptionManager.class);
- if (dem.hasDelpoyementFailed(info)) {
- Exception tre = dem.getDelpoyementException(info);
+ if (dem.hasDelpoymentFailed(info)) {
+ Exception tre = dem.getDelpoymentException(info);
// we don't need this exceptino anymore
- dem.clearDelpoyementException(info);
+ dem.clearDelpoymentException(info);
throw tre;
}
Modified: openejb/trunk/openejb/utils/webdeployer/src/main/java/org/apache/tomee/catalina/facade/ExceptionManagerFacadeBean.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/utils/webdeployer/src/main/java/org/apache/tomee/catalina/facade/ExceptionManagerFacadeBean.java?rev=1227348&r1=1227347&r2=1227348&view=diff
==============================================================================
--- openejb/trunk/openejb/utils/webdeployer/src/main/java/org/apache/tomee/catalina/facade/ExceptionManagerFacadeBean.java (original)
+++ openejb/trunk/openejb/utils/webdeployer/src/main/java/org/apache/tomee/catalina/facade/ExceptionManagerFacadeBean.java Wed Jan 4 22:13:21 2012
@@ -1,7 +1,7 @@
package org.apache.tomee.catalina.facade;
+import org.apache.openejb.assembler.classic.DeploymentExceptionManager;
import org.apache.openejb.loader.SystemInstance;
-import org.apache.tomee.catalina.DeploymentExceptionManager;
import javax.ejb.Singleton;
import javax.ejb.TransactionManagement;
Re: Where to deploy non-wars (was: Re: svn commit: r1227348)
Posted by Romain Manni-Bucau <rm...@gmail.com>.
It never works as webapps (at least because of exception management).
Personally i never made it work otherwise, do we scan tomcat hosts, never
saw it? We were using tomcat polling but it doesnt match the containers impl
- Romain
Le 5 janv. 2012 00:13, "David Blevins" <da...@gmail.com> a écrit :
> Note that we've always told people to drop their ears or jars into
> webapps/ and it "just works". If this broke, we should fix it.
>
>
> We really shouldn't even have an apps/ dir in TomEE.
>
>
> -David
>
> On Jan 4, 2012, at 2:13 PM, rmannibucau@apache.org wrote:
>
> > Author: rmannibucau
> > Date: Wed Jan 4 22:13:21 2012
> > New Revision: 1227348
> >
> > URL: http://svn.apache.org/viewvc?rev=1227348&view=rev
> > Log:
> > managing exception through the exception manager when deploying an
> additional Deployment (openejb.xml)
> >
> > Added:
> >
> openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/DeploymentExceptionManager.java
> > - copied, changed from r1227285,
> openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/DeploymentExceptionManager.java
> > Removed:
> >
> openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/DeploymentExceptionManager.java
> > Modified:
> >
> openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/OpenEJB.java
> >
> openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
> >
> openejb/trunk/openejb/tck/tck-common/src/main/java/org/apache/openejb/tck/impl/AbstractContainers.java
> >
> openejb/trunk/openejb/tck/tck-common/src/main/java/org/apache/openejb/tck/impl/FullRestartContainer.java
> >
> openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatLoader.java
> >
> openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java
> >
> openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/OpenEJBListener.java
> >
> openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/TomcatHook.java
> >
> openejb/trunk/openejb/utils/webdeployer/src/main/java/org/apache/tomee/catalina/deployer/WebappDeployer.java
> >
> openejb/trunk/openejb/utils/webdeployer/src/main/java/org/apache/tomee/catalina/facade/ExceptionManagerFacadeBean.java
> >
> > Modified:
> openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/OpenEJB.java
> > URL:
> http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/OpenEJB.java?rev=1227348&r1=1227347&r2=1227348&view=diff
> >
> ==============================================================================
> > ---
> openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/OpenEJB.java
> (original)
> > +++
> openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/OpenEJB.java
> Wed Jan 4 22:13:21 2012
> > @@ -20,6 +20,8 @@ import java.util.Date;
> > import java.util.Properties;
> >
> > import javax.transaction.TransactionManager;
> > +
> > +import org.apache.openejb.assembler.classic.DeploymentExceptionManager;
> > import org.apache.openejb.cdi.CdiBuilder;
> > import org.apache.openejb.loader.SystemInstance;
> > import org.apache.openejb.spi.ApplicationServer;
> > @@ -83,6 +85,8 @@ public final class OpenEJB {
> > }
> > SystemInstance system = SystemInstance.get();
> >
> > + system.setComponent(DeploymentExceptionManager.class, new
> DeploymentExceptionManager());
> > +
> > system.setComponent(ApplicationServer.class, appServer);
> > //OWB support. The classloader has to be able to load all
> OWB components including the ones supplied by OpenEjb.
> > CdiBuilder.initializeOWB(getClass().getClassLoader());
> >
> > Modified:
> openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
> > URL:
> http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java?rev=1227348&r1=1227347&r2=1227348&view=diff
> >
> ==============================================================================
> > ---
> openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
> (original)
> > +++
> openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
> Wed Jan 4 22:13:21 2012
> > @@ -409,6 +409,11 @@ public class Assembler extends Assembler
> > // already logged.
> > } catch (Throwable e) {
> > logger.error("appNotDeployed", e, appInfo.path);
> > +
> > + final DeploymentExceptionManager exceptionManager =
> SystemInstance.get().getComponent(DeploymentExceptionManager.class);
> > + if (exceptionManager != null && e instanceof Exception)
> {
> > + exceptionManager.saveDelpoymentException(appInfo,
> (Exception) e);
> > + }
> > }
> > }
> > }
> >
> > Copied:
> openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/DeploymentExceptionManager.java
> (from r1227285,
> openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/DeploymentExceptionManager.java)
> > URL:
> http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/DeploymentExceptionManager.java?p2=openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/DeploymentExceptionManager.java&p1=openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/DeploymentExceptionManager.java&r1=1227285&r2=1227348&rev=1227348&view=diff
> >
> ==============================================================================
> > ---
> openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/DeploymentExceptionManager.java
> (original)
> > +++
> openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/DeploymentExceptionManager.java
> Wed Jan 4 22:13:21 2012
> > @@ -1,4 +1,4 @@
> > -package org.apache.tomee.catalina;
> > +package org.apache.openejb.assembler.classic;
> >
> > import org.apache.openejb.assembler.classic.AppInfo;
> >
> > @@ -20,19 +20,19 @@ public class DeploymentExceptionManager
> > }
> > };
> >
> > - public synchronized boolean hasDelpoyementFailed(AppInfo appInfo) {
> > + public synchronized boolean hasDelpoymentFailed(AppInfo appInfo) {
> > return deploymentException.containsKey(appInfo);
> > }
> >
> > - public synchronized Exception getDelpoyementException(AppInfo
> appInfo) {
> > + public synchronized Exception getDelpoymentException(AppInfo
> appInfo) {
> > return deploymentException.get(appInfo);
> > }
> >
> > - public synchronized Exception saveDelpoyementException(AppInfo
> appInfo, Exception exception) {
> > + public synchronized Exception saveDelpoymentException(AppInfo
> appInfo, Exception exception) {
> > return deploymentException.put(appInfo, exception);
> > }
> >
> > - public synchronized void clearDelpoyementException(AppInfo info) {
> > + public synchronized void clearDelpoymentException(AppInfo info) {
> > deploymentException.remove(info);
> > }
> >
> >
> > Modified:
> openejb/trunk/openejb/tck/tck-common/src/main/java/org/apache/openejb/tck/impl/AbstractContainers.java
> > URL:
> http://svn.apache.org/viewvc/openejb/trunk/openejb/tck/tck-common/src/main/java/org/apache/openejb/tck/impl/AbstractContainers.java?rev=1227348&r1=1227347&r2=1227348&view=diff
> >
> ==============================================================================
> > ---
> openejb/trunk/openejb/tck/tck-common/src/main/java/org/apache/openejb/tck/impl/AbstractContainers.java
> (original)
> > +++
> openejb/trunk/openejb/tck/tck-common/src/main/java/org/apache/openejb/tck/impl/AbstractContainers.java
> Wed Jan 4 22:13:21 2012
> > @@ -28,6 +28,10 @@ public class AbstractContainers {
> > protected static final String tmpDir =
> System.getProperty("java.io.tmpdir");
> >
> > protected void writeToFile(File file, InputStream archive) {
> > + if (!file.getParentFile().exists()) {
> > + file.getParentFile().mkdirs();
> > + }
> > +
> > try {
> > FileOutputStream fos = new FileOutputStream(file);
> > byte[] buffer = new byte[4096];
> >
> > Modified:
> openejb/trunk/openejb/tck/tck-common/src/main/java/org/apache/openejb/tck/impl/FullRestartContainer.java
> > URL:
> http://svn.apache.org/viewvc/openejb/trunk/openejb/tck/tck-common/src/main/java/org/apache/openejb/tck/impl/FullRestartContainer.java?rev=1227348&r1=1227347&r2=1227348&view=diff
> >
> ==============================================================================
> > ---
> openejb/trunk/openejb/tck/tck-common/src/main/java/org/apache/openejb/tck/impl/FullRestartContainer.java
> (original)
> > +++
> openejb/trunk/openejb/tck/tck-common/src/main/java/org/apache/openejb/tck/impl/FullRestartContainer.java
> Wed Jan 4 22:13:21 2012
> > @@ -40,6 +40,7 @@ import java.util.Properties;
> > */
> > public class FullRestartContainer extends AbstractContainers implements
> Containers {
> > private static final File WEBAPP_DIR = new
> File(System.getProperty("openejb.home"), "webapps/");
> > + private static final File APPS_DIR = new
> File(System.getProperty("openejb.home"), "apps/");
> >
> > private RemoteServer server;
> > private Exception exception;
> > @@ -60,7 +61,12 @@ public class FullRestartContainer extend
> >
> > @Override
> > public boolean deploy(InputStream archive, String name) throws
> IOException {
> > - currentFile = new File(WEBAPP_DIR, name);
> > + if (name.endsWith("war")) {
> > + currentFile = new File(WEBAPP_DIR, name);
> > + } else {
> > + currentFile = new File(APPS_DIR, name);
> > + }
> > +
> > System.out.println(currentFile);
> > writeToFile(currentFile, archive);
> >
> > @@ -71,6 +77,7 @@ public class FullRestartContainer extend
> > e.printStackTrace();
> > throw e;
> > }
> > +
> > return (exception = lookup().exception()) == null;
> > }
> >
> >
> > Modified:
> openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatLoader.java
> > URL:
> http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatLoader.java?rev=1227348&r1=1227347&r2=1227348&view=diff
> >
> ==============================================================================
> > ---
> openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatLoader.java
> (original)
> > +++
> openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatLoader.java
> Wed Jan 4 22:13:21 2012
> > @@ -187,7 +187,6 @@ public class TomcatLoader implements Loa
> > tomcatWebAppBuilder.start();
> > SystemInstance.get().setComponent(WebAppBuilder.class,
> tomcatWebAppBuilder);
> > }
> > -
> SystemInstance.get().setComponent(DeploymentExceptionManager.class, new
> DeploymentExceptionManager());
> >
> > // Web Services will be installed into the
> WebDeploymentListeners list
> > SystemInstance.get().setComponent(WebDeploymentListeners.class,
> new WebDeploymentListeners());
> >
> > 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=1227348&r1=1227347&r2=1227348&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
> Wed Jan 4 22:13:21 2012
> > @@ -47,6 +47,7 @@ import org.apache.openejb.OpenEJBExcepti
> > import org.apache.openejb.assembler.classic.AppInfo;
> > import org.apache.openejb.assembler.classic.Assembler;
> > import org.apache.openejb.assembler.classic.ConnectorInfo;
> > +import org.apache.openejb.assembler.classic.DeploymentExceptionManager;
> > import org.apache.openejb.assembler.classic.EjbJarInfo;
> > import org.apache.openejb.assembler.classic.InjectionBuilder;
> > import org.apache.openejb.assembler.classic.JndiEncBuilder;
> > @@ -597,7 +598,7 @@ public class TomcatWebAppBuilder impleme
> > if (System.getProperty(TOMEE_EAT_EXCEPTION_PROP) ==
> null) {
> > final TomEERuntimeException tre = new
> TomEERuntimeException(e);
> > DeploymentExceptionManager dem =
> SystemInstance.get().getComponent(DeploymentExceptionManager.class);
> > -
> dem.saveDelpoyementException(contextInfo.appInfo, tre);
> > +
> dem.saveDelpoymentException(contextInfo.appInfo, tre);
> > throw tre;
> > }
> > return;
> >
> > Modified:
> openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/OpenEJBListener.java
> > URL:
> http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/OpenEJBListener.java?rev=1227348&r1=1227347&r2=1227348&view=diff
> >
> ==============================================================================
> > ---
> openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/OpenEJBListener.java
> (original)
> > +++
> openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/OpenEJBListener.java
> Wed Jan 4 22:13:21 2012
> > @@ -56,10 +56,12 @@ public class OpenEJBListener implements
> > try {
> > Properties properties = new Properties();
> > File webappDir = findOpenEjbWar();
> > - properties.setProperty("openejb.war",
> webappDir.getAbsolutePath());
> > - properties.setProperty("openejb.embedder.source",
> getClass().getSimpleName());
> > - TomcatEmbedder.embed(properties,
> StandardServer.class.getClassLoader());
> > - listenerInstalled = true;
> > + if (webappDir != null) {
> > + properties.setProperty("openejb.war",
> webappDir.getAbsolutePath());
> > + properties.setProperty("openejb.embedder.source",
> getClass().getSimpleName());
> > + TomcatEmbedder.embed(properties,
> StandardServer.class.getClassLoader());
> > + listenerInstalled = true;
> > + } // webapp can be found lazily in some conditions
> > } catch (Exception e) {
> > System.out.println("ERROR: OpenEJB webapp was not found");
> > // e.printStackTrace(System.err);
> >
> > Modified:
> openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/TomcatHook.java
> > URL:
> http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/TomcatHook.java?rev=1227348&r1=1227347&r2=1227348&view=diff
> >
> ==============================================================================
> > ---
> openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/TomcatHook.java
> (original)
> > +++
> openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/TomcatHook.java
> Wed Jan 4 22:13:21 2012
> > @@ -148,7 +148,9 @@ class TomcatHook {
> > if( properties.getProperty("openejb.libs") == null){
> > throw new NullPointerException("openejb.libs property is not
> set");
> > }
> > -
> > +
> > + final Embedder embedder = new
> Embedder("org.apache.tomee.catalina.TomcatLoader");
> > + SystemInstance.get().setComponent(Embedder.class, embedder);
> > try {
> > // create the loader
> >
> > @@ -159,7 +161,6 @@ class TomcatHook {
> >
> > // This guy does the magic of squishing the openejb
> libraries into the parent classloader
> > // and kicking off the reall integration.
> > - Embedder embedder = new
> Embedder("org.apache.tomee.catalina.TomcatLoader");
> > embedder.init(properties);
> > } catch (Exception e) {
> > e.printStackTrace();
> >
> > Modified:
> openejb/trunk/openejb/utils/webdeployer/src/main/java/org/apache/tomee/catalina/deployer/WebappDeployer.java
> > URL:
> http://svn.apache.org/viewvc/openejb/trunk/openejb/utils/webdeployer/src/main/java/org/apache/tomee/catalina/deployer/WebappDeployer.java?rev=1227348&r1=1227347&r2=1227348&view=diff
> >
> ==============================================================================
> > ---
> openejb/trunk/openejb/utils/webdeployer/src/main/java/org/apache/tomee/catalina/deployer/WebappDeployer.java
> (original)
> > +++
> openejb/trunk/openejb/utils/webdeployer/src/main/java/org/apache/tomee/catalina/deployer/WebappDeployer.java
> Wed Jan 4 22:13:21 2012
> > @@ -41,11 +41,11 @@ import org.apache.openejb.UndeployExcept
> > import org.apache.openejb.assembler.Deployer;
> > import org.apache.openejb.assembler.classic.AppInfo;
> > import org.apache.openejb.assembler.classic.Assembler;
> > +import org.apache.openejb.assembler.classic.DeploymentExceptionManager;
> > import org.apache.openejb.assembler.classic.WebAppBuilder;
> > import org.apache.openejb.loader.FileUtils;
> > import org.apache.openejb.loader.SystemInstance;
> > import org.apache.tomcat.util.modeler.Registry;
> > -import org.apache.tomee.catalina.DeploymentExceptionManager;
> > import org.apache.tomee.catalina.TomcatWebAppBuilder;
> > import org.apache.tomee.loader.TomcatHelper;
> >
> > @@ -118,10 +118,10 @@ public class WebappDeployer implements D
> > }
> >
> > final DeploymentExceptionManager dem =
> SystemInstance.get().getComponent(DeploymentExceptionManager.class);
> > - if (dem.hasDelpoyementFailed(info)) {
> > - Exception tre = dem.getDelpoyementException(info);
> > + if (dem.hasDelpoymentFailed(info)) {
> > + Exception tre = dem.getDelpoymentException(info);
> > // we don't need this exceptino anymore
> > - dem.clearDelpoyementException(info);
> > + dem.clearDelpoymentException(info);
> > throw tre;
> > }
> >
> >
> > Modified:
> openejb/trunk/openejb/utils/webdeployer/src/main/java/org/apache/tomee/catalina/facade/ExceptionManagerFacadeBean.java
> > URL:
> http://svn.apache.org/viewvc/openejb/trunk/openejb/utils/webdeployer/src/main/java/org/apache/tomee/catalina/facade/ExceptionManagerFacadeBean.java?rev=1227348&r1=1227347&r2=1227348&view=diff
> >
> ==============================================================================
> > ---
> openejb/trunk/openejb/utils/webdeployer/src/main/java/org/apache/tomee/catalina/facade/ExceptionManagerFacadeBean.java
> (original)
> > +++
> openejb/trunk/openejb/utils/webdeployer/src/main/java/org/apache/tomee/catalina/facade/ExceptionManagerFacadeBean.java
> Wed Jan 4 22:13:21 2012
> > @@ -1,7 +1,7 @@
> > package org.apache.tomee.catalina.facade;
> >
> > +import org.apache.openejb.assembler.classic.DeploymentExceptionManager;
> > import org.apache.openejb.loader.SystemInstance;
> > -import org.apache.tomee.catalina.DeploymentExceptionManager;
> >
> > import javax.ejb.Singleton;
> > import javax.ejb.TransactionManagement;
> >
> >
> >
>
>
Where to deploy non-wars (was: Re: svn commit: r1227348)
Posted by David Blevins <da...@gmail.com>.
Note that we've always told people to drop their ears or jars into webapps/ and it "just works". If this broke, we should fix it.
We really shouldn't even have an apps/ dir in TomEE.
-David
On Jan 4, 2012, at 2:13 PM, rmannibucau@apache.org wrote:
> Author: rmannibucau
> Date: Wed Jan 4 22:13:21 2012
> New Revision: 1227348
>
> URL: http://svn.apache.org/viewvc?rev=1227348&view=rev
> Log:
> managing exception through the exception manager when deploying an additional Deployment (openejb.xml)
>
> Added:
> openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/DeploymentExceptionManager.java
> - copied, changed from r1227285, openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/DeploymentExceptionManager.java
> Removed:
> openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/DeploymentExceptionManager.java
> Modified:
> openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/OpenEJB.java
> openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
> openejb/trunk/openejb/tck/tck-common/src/main/java/org/apache/openejb/tck/impl/AbstractContainers.java
> openejb/trunk/openejb/tck/tck-common/src/main/java/org/apache/openejb/tck/impl/FullRestartContainer.java
> openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatLoader.java
> openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java
> openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/OpenEJBListener.java
> openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/TomcatHook.java
> openejb/trunk/openejb/utils/webdeployer/src/main/java/org/apache/tomee/catalina/deployer/WebappDeployer.java
> openejb/trunk/openejb/utils/webdeployer/src/main/java/org/apache/tomee/catalina/facade/ExceptionManagerFacadeBean.java
>
> Modified: openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/OpenEJB.java
> URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/OpenEJB.java?rev=1227348&r1=1227347&r2=1227348&view=diff
> ==============================================================================
> --- openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/OpenEJB.java (original)
> +++ openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/OpenEJB.java Wed Jan 4 22:13:21 2012
> @@ -20,6 +20,8 @@ import java.util.Date;
> import java.util.Properties;
>
> import javax.transaction.TransactionManager;
> +
> +import org.apache.openejb.assembler.classic.DeploymentExceptionManager;
> import org.apache.openejb.cdi.CdiBuilder;
> import org.apache.openejb.loader.SystemInstance;
> import org.apache.openejb.spi.ApplicationServer;
> @@ -83,6 +85,8 @@ public final class OpenEJB {
> }
> SystemInstance system = SystemInstance.get();
>
> + system.setComponent(DeploymentExceptionManager.class, new DeploymentExceptionManager());
> +
> system.setComponent(ApplicationServer.class, appServer);
> //OWB support. The classloader has to be able to load all OWB components including the ones supplied by OpenEjb.
> CdiBuilder.initializeOWB(getClass().getClassLoader());
>
> Modified: openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
> URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java?rev=1227348&r1=1227347&r2=1227348&view=diff
> ==============================================================================
> --- openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java (original)
> +++ openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java Wed Jan 4 22:13:21 2012
> @@ -409,6 +409,11 @@ public class Assembler extends Assembler
> // already logged.
> } catch (Throwable e) {
> logger.error("appNotDeployed", e, appInfo.path);
> +
> + final DeploymentExceptionManager exceptionManager = SystemInstance.get().getComponent(DeploymentExceptionManager.class);
> + if (exceptionManager != null && e instanceof Exception) {
> + exceptionManager.saveDelpoymentException(appInfo, (Exception) e);
> + }
> }
> }
> }
>
> Copied: openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/DeploymentExceptionManager.java (from r1227285, openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/DeploymentExceptionManager.java)
> URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/DeploymentExceptionManager.java?p2=openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/DeploymentExceptionManager.java&p1=openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/DeploymentExceptionManager.java&r1=1227285&r2=1227348&rev=1227348&view=diff
> ==============================================================================
> --- openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/DeploymentExceptionManager.java (original)
> +++ openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/DeploymentExceptionManager.java Wed Jan 4 22:13:21 2012
> @@ -1,4 +1,4 @@
> -package org.apache.tomee.catalina;
> +package org.apache.openejb.assembler.classic;
>
> import org.apache.openejb.assembler.classic.AppInfo;
>
> @@ -20,19 +20,19 @@ public class DeploymentExceptionManager
> }
> };
>
> - public synchronized boolean hasDelpoyementFailed(AppInfo appInfo) {
> + public synchronized boolean hasDelpoymentFailed(AppInfo appInfo) {
> return deploymentException.containsKey(appInfo);
> }
>
> - public synchronized Exception getDelpoyementException(AppInfo appInfo) {
> + public synchronized Exception getDelpoymentException(AppInfo appInfo) {
> return deploymentException.get(appInfo);
> }
>
> - public synchronized Exception saveDelpoyementException(AppInfo appInfo, Exception exception) {
> + public synchronized Exception saveDelpoymentException(AppInfo appInfo, Exception exception) {
> return deploymentException.put(appInfo, exception);
> }
>
> - public synchronized void clearDelpoyementException(AppInfo info) {
> + public synchronized void clearDelpoymentException(AppInfo info) {
> deploymentException.remove(info);
> }
>
>
> Modified: openejb/trunk/openejb/tck/tck-common/src/main/java/org/apache/openejb/tck/impl/AbstractContainers.java
> URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tck/tck-common/src/main/java/org/apache/openejb/tck/impl/AbstractContainers.java?rev=1227348&r1=1227347&r2=1227348&view=diff
> ==============================================================================
> --- openejb/trunk/openejb/tck/tck-common/src/main/java/org/apache/openejb/tck/impl/AbstractContainers.java (original)
> +++ openejb/trunk/openejb/tck/tck-common/src/main/java/org/apache/openejb/tck/impl/AbstractContainers.java Wed Jan 4 22:13:21 2012
> @@ -28,6 +28,10 @@ public class AbstractContainers {
> protected static final String tmpDir = System.getProperty("java.io.tmpdir");
>
> protected void writeToFile(File file, InputStream archive) {
> + if (!file.getParentFile().exists()) {
> + file.getParentFile().mkdirs();
> + }
> +
> try {
> FileOutputStream fos = new FileOutputStream(file);
> byte[] buffer = new byte[4096];
>
> Modified: openejb/trunk/openejb/tck/tck-common/src/main/java/org/apache/openejb/tck/impl/FullRestartContainer.java
> URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tck/tck-common/src/main/java/org/apache/openejb/tck/impl/FullRestartContainer.java?rev=1227348&r1=1227347&r2=1227348&view=diff
> ==============================================================================
> --- openejb/trunk/openejb/tck/tck-common/src/main/java/org/apache/openejb/tck/impl/FullRestartContainer.java (original)
> +++ openejb/trunk/openejb/tck/tck-common/src/main/java/org/apache/openejb/tck/impl/FullRestartContainer.java Wed Jan 4 22:13:21 2012
> @@ -40,6 +40,7 @@ import java.util.Properties;
> */
> public class FullRestartContainer extends AbstractContainers implements Containers {
> private static final File WEBAPP_DIR = new File(System.getProperty("openejb.home"), "webapps/");
> + private static final File APPS_DIR = new File(System.getProperty("openejb.home"), "apps/");
>
> private RemoteServer server;
> private Exception exception;
> @@ -60,7 +61,12 @@ public class FullRestartContainer extend
>
> @Override
> public boolean deploy(InputStream archive, String name) throws IOException {
> - currentFile = new File(WEBAPP_DIR, name);
> + if (name.endsWith("war")) {
> + currentFile = new File(WEBAPP_DIR, name);
> + } else {
> + currentFile = new File(APPS_DIR, name);
> + }
> +
> System.out.println(currentFile);
> writeToFile(currentFile, archive);
>
> @@ -71,6 +77,7 @@ public class FullRestartContainer extend
> e.printStackTrace();
> throw e;
> }
> +
> return (exception = lookup().exception()) == null;
> }
>
>
> Modified: openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatLoader.java
> URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatLoader.java?rev=1227348&r1=1227347&r2=1227348&view=diff
> ==============================================================================
> --- openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatLoader.java (original)
> +++ openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatLoader.java Wed Jan 4 22:13:21 2012
> @@ -187,7 +187,6 @@ public class TomcatLoader implements Loa
> tomcatWebAppBuilder.start();
> SystemInstance.get().setComponent(WebAppBuilder.class, tomcatWebAppBuilder);
> }
> - SystemInstance.get().setComponent(DeploymentExceptionManager.class, new DeploymentExceptionManager());
>
> // Web Services will be installed into the WebDeploymentListeners list
> SystemInstance.get().setComponent(WebDeploymentListeners.class, new WebDeploymentListeners());
>
> 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=1227348&r1=1227347&r2=1227348&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 Wed Jan 4 22:13:21 2012
> @@ -47,6 +47,7 @@ import org.apache.openejb.OpenEJBExcepti
> import org.apache.openejb.assembler.classic.AppInfo;
> import org.apache.openejb.assembler.classic.Assembler;
> import org.apache.openejb.assembler.classic.ConnectorInfo;
> +import org.apache.openejb.assembler.classic.DeploymentExceptionManager;
> import org.apache.openejb.assembler.classic.EjbJarInfo;
> import org.apache.openejb.assembler.classic.InjectionBuilder;
> import org.apache.openejb.assembler.classic.JndiEncBuilder;
> @@ -597,7 +598,7 @@ public class TomcatWebAppBuilder impleme
> if (System.getProperty(TOMEE_EAT_EXCEPTION_PROP) == null) {
> final TomEERuntimeException tre = new TomEERuntimeException(e);
> DeploymentExceptionManager dem = SystemInstance.get().getComponent(DeploymentExceptionManager.class);
> - dem.saveDelpoyementException(contextInfo.appInfo, tre);
> + dem.saveDelpoymentException(contextInfo.appInfo, tre);
> throw tre;
> }
> return;
>
> Modified: openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/OpenEJBListener.java
> URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/OpenEJBListener.java?rev=1227348&r1=1227347&r2=1227348&view=diff
> ==============================================================================
> --- openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/OpenEJBListener.java (original)
> +++ openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/OpenEJBListener.java Wed Jan 4 22:13:21 2012
> @@ -56,10 +56,12 @@ public class OpenEJBListener implements
> try {
> Properties properties = new Properties();
> File webappDir = findOpenEjbWar();
> - properties.setProperty("openejb.war", webappDir.getAbsolutePath());
> - properties.setProperty("openejb.embedder.source", getClass().getSimpleName());
> - TomcatEmbedder.embed(properties, StandardServer.class.getClassLoader());
> - listenerInstalled = true;
> + if (webappDir != null) {
> + properties.setProperty("openejb.war", webappDir.getAbsolutePath());
> + properties.setProperty("openejb.embedder.source", getClass().getSimpleName());
> + TomcatEmbedder.embed(properties, StandardServer.class.getClassLoader());
> + listenerInstalled = true;
> + } // webapp can be found lazily in some conditions
> } catch (Exception e) {
> System.out.println("ERROR: OpenEJB webapp was not found");
> // e.printStackTrace(System.err);
>
> Modified: openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/TomcatHook.java
> URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/TomcatHook.java?rev=1227348&r1=1227347&r2=1227348&view=diff
> ==============================================================================
> --- openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/TomcatHook.java (original)
> +++ openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/TomcatHook.java Wed Jan 4 22:13:21 2012
> @@ -148,7 +148,9 @@ class TomcatHook {
> if( properties.getProperty("openejb.libs") == null){
> throw new NullPointerException("openejb.libs property is not set");
> }
> -
> +
> + final Embedder embedder = new Embedder("org.apache.tomee.catalina.TomcatLoader");
> + SystemInstance.get().setComponent(Embedder.class, embedder);
> try {
> // create the loader
>
> @@ -159,7 +161,6 @@ class TomcatHook {
>
> // This guy does the magic of squishing the openejb libraries into the parent classloader
> // and kicking off the reall integration.
> - Embedder embedder = new Embedder("org.apache.tomee.catalina.TomcatLoader");
> embedder.init(properties);
> } catch (Exception e) {
> e.printStackTrace();
>
> Modified: openejb/trunk/openejb/utils/webdeployer/src/main/java/org/apache/tomee/catalina/deployer/WebappDeployer.java
> URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/utils/webdeployer/src/main/java/org/apache/tomee/catalina/deployer/WebappDeployer.java?rev=1227348&r1=1227347&r2=1227348&view=diff
> ==============================================================================
> --- openejb/trunk/openejb/utils/webdeployer/src/main/java/org/apache/tomee/catalina/deployer/WebappDeployer.java (original)
> +++ openejb/trunk/openejb/utils/webdeployer/src/main/java/org/apache/tomee/catalina/deployer/WebappDeployer.java Wed Jan 4 22:13:21 2012
> @@ -41,11 +41,11 @@ import org.apache.openejb.UndeployExcept
> import org.apache.openejb.assembler.Deployer;
> import org.apache.openejb.assembler.classic.AppInfo;
> import org.apache.openejb.assembler.classic.Assembler;
> +import org.apache.openejb.assembler.classic.DeploymentExceptionManager;
> import org.apache.openejb.assembler.classic.WebAppBuilder;
> import org.apache.openejb.loader.FileUtils;
> import org.apache.openejb.loader.SystemInstance;
> import org.apache.tomcat.util.modeler.Registry;
> -import org.apache.tomee.catalina.DeploymentExceptionManager;
> import org.apache.tomee.catalina.TomcatWebAppBuilder;
> import org.apache.tomee.loader.TomcatHelper;
>
> @@ -118,10 +118,10 @@ public class WebappDeployer implements D
> }
>
> final DeploymentExceptionManager dem = SystemInstance.get().getComponent(DeploymentExceptionManager.class);
> - if (dem.hasDelpoyementFailed(info)) {
> - Exception tre = dem.getDelpoyementException(info);
> + if (dem.hasDelpoymentFailed(info)) {
> + Exception tre = dem.getDelpoymentException(info);
> // we don't need this exceptino anymore
> - dem.clearDelpoyementException(info);
> + dem.clearDelpoymentException(info);
> throw tre;
> }
>
>
> Modified: openejb/trunk/openejb/utils/webdeployer/src/main/java/org/apache/tomee/catalina/facade/ExceptionManagerFacadeBean.java
> URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/utils/webdeployer/src/main/java/org/apache/tomee/catalina/facade/ExceptionManagerFacadeBean.java?rev=1227348&r1=1227347&r2=1227348&view=diff
> ==============================================================================
> --- openejb/trunk/openejb/utils/webdeployer/src/main/java/org/apache/tomee/catalina/facade/ExceptionManagerFacadeBean.java (original)
> +++ openejb/trunk/openejb/utils/webdeployer/src/main/java/org/apache/tomee/catalina/facade/ExceptionManagerFacadeBean.java Wed Jan 4 22:13:21 2012
> @@ -1,7 +1,7 @@
> package org.apache.tomee.catalina.facade;
>
> +import org.apache.openejb.assembler.classic.DeploymentExceptionManager;
> import org.apache.openejb.loader.SystemInstance;
> -import org.apache.tomee.catalina.DeploymentExceptionManager;
>
> import javax.ejb.Singleton;
> import javax.ejb.TransactionManagement;
>
>
>