Author: rmannibucau
Date: Sun Oct 7 11:33:26 2012
New Revision: 1395274
URL: http://svn.apache.org/viewvc?rev=1395274&view=rev
Log:
more info when app deployment fails
Modified:
openejb/trunk/openejb/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEContainer.java
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
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/deployment/TomcatWebappDeployer.java
Modified:
openejb/trunk/openejb/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEContainer.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEContainer.java?rev=1395274&r1=1395273&r2=1395274&view=diff
==============================================================================
---
openejb/trunk/openejb/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEContainer.java
(original)
+++
openejb/trunk/openejb/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEContainer.java
Sun Oct 7 11:33:26 2012
@@ -294,6 +294,7 @@ public abstract class TomEEContainer<Con
if (appInfo != null) {
moduleIds.put(archive.getName(), new
DeployedApp(appInfo.path, file.getParentFile()));
} else {
+ LOGGER.severe("appInfo was not found for " +
file.getPath() + ", available are: " + apps());
throw new OpenEJBException("can't get appInfo");
}
} catch (OpenEJBException re) { // clean up in undeploy needs it
@@ -325,6 +326,19 @@ public abstract class TomEEContainer<Con
}
}
+ private Collection<String> apps() {
+ final Collection<String> paths = new ArrayList<String>();
+ try {
+ final Collection<AppInfo> appInfos = deployer().getDeployedApps();
+ for (AppInfo info : appInfos) {
+ paths.add(info.path);
+ }
+ } catch (Exception e) { // don't throw an exception just because of
this log info
+ // no-op
+ }
+ return paths;
+ }
+
protected Assignable archiveWithTestInfo(final Archive<?> archive) {
return archive.add(new
StringAsset(testClass.get().getJavaClass().getName()),
ArchivePaths.create("arquillian-tomee-info.txt"));
}
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=1395274&r1=1395273&r2=1395274&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 Oct 7 11:33:26 2012
@@ -195,7 +195,7 @@ public class DeployerEjb implements Depl
ClassLoaderUtil.destroyClassLoader(appModule.getJarLocation());
}
- e.printStackTrace();
+ LOGGER.error("Can't deploy " + inLocation, e);
if (e instanceof javax.validation.ValidationException) {
throw (javax.validation.ValidationException) e;
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=1395274&r1=1395273&r2=1395274&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
Sun Oct 7 11:33:26 2012
@@ -493,6 +493,18 @@ public class TomcatWebAppBuilder impleme
return null;
}
+ public synchronized Collection<String> availableApps() {
+ final Collection<String> apps = new ArrayList<String>();
+ for (ContextInfo info : infos.values()) {
+ if (info.appInfo != null) {
+ apps.add(info.appInfo.path);
+ } else if (info.standardContext != null) {
+ apps.add("[not deployed] " + info.standardContext.getName());
+ }
+ }
+ return apps;
+ }
+
// TODO: find something more sexy
private static Field HOST_CONFIG_HOST = null;
Modified:
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/deployment/TomcatWebappDeployer.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/deployment/TomcatWebappDeployer.java?rev=1395274&r1=1395273&r2=1395274&view=diff
==============================================================================
---
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/deployment/TomcatWebappDeployer.java
(original)
+++
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/deployment/TomcatWebappDeployer.java
Sun Oct 7 11:33:26 2012
@@ -23,11 +23,15 @@ import org.apache.openejb.assembler.clas
import org.apache.openejb.assembler.classic.WebAppBuilder;
import org.apache.openejb.assembler.classic.WebAppInfo;
import org.apache.openejb.loader.SystemInstance;
+import org.apache.openejb.util.LogCategory;
+import org.apache.openejb.util.Logger;
import org.apache.tomee.catalina.TomcatWebAppBuilder;
import java.io.File;
public class TomcatWebappDeployer implements WebAppDeployer {
+ private static final Logger LOGGER =
Logger.getInstance(LogCategory.OPENEJB, TomcatWebappDeployer.class);
+
@Override
public AppInfo deploy(final String context, final File file) {
final TomcatWebAppBuilder tomcatWebAppBuilder = (TomcatWebAppBuilder)
SystemInstance.get().getComponent(WebAppBuilder.class);
@@ -38,6 +42,10 @@ public class TomcatWebappDeployer implem
}
final TomcatWebAppBuilder.ContextInfo info =
tomcatWebAppBuilder.standaAloneWebAppInfo(file.getAbsolutePath());
+ if (info == null || info.appInfo == null) {
+ LOGGER.error("Can't find of appInfo for " + file + ", availables:
" + tomcatWebAppBuilder.availableApps());
+ }
+
if (info == null) { // error
return null;
}