You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by xu...@apache.org on 2010/12/22 04:24:51 UTC
svn commit: r1051743 -
/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java
Author: xuhaihong
Date: Wed Dec 22 03:24:51 2010
New Revision: 1051743
URL: http://svn.apache.org/viewvc?rev=1051743&view=rev
Log:
OPENEJB-1413 Fix some determination condition
Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java
Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java?rev=1051743&r1=1051742&r2=1051743&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java Wed Dec 22 03:24:51 2010
@@ -190,7 +190,8 @@ public class DeploymentLoader {
}
}
- if (AppModule.class.equals(moduleClass) && loadingRequiredModuleTypes.contains(AppModule.class)) {
+ //We always load AppModule, as it somewhat likes a wrapper module
+ if (AppModule.class.equals(moduleClass)) {
return createAppModule(jarFile, jarPath);
@@ -330,13 +331,15 @@ public class DeploymentLoader {
ClassLoader moduleClassLoader = ClassLoaderUtil.createTempClassLoader(appId, new URL[]{entry.getValue()}, tmpClassLoader);
Class<? extends DeploymentModule> moduleType = discoverModuleType(entry.getValue(), moduleClassLoader, true);
- if (EjbModule.class.equals(moduleType) && loadingRequiredModuleTypes.contains(EjbModule.class)) {
+ if (EjbModule.class.equals(moduleType) && (loadingRequiredModuleTypes.contains(EjbModule.class) || loadingRequiredModuleTypes.contains(PersistenceModule.class))) {
ejbModules.put(entry.getKey(), entry.getValue());
} else if (ClientModule.class.equals(moduleType) && loadingRequiredModuleTypes.contains(ClientModule.class)) {
clientModules.put(entry.getKey(), entry.getValue());
} else if (ConnectorModule.class.equals(moduleType) && loadingRequiredModuleTypes.contains(ConnectorModule.class)) {
resouceModules.put(entry.getKey(), entry.getValue());
- } else if (WebModule.class.equals(moduleType) && (loadingRequiredModuleTypes.contains(WebModule.class) || loadingRequiredModuleTypes.contains(EjbModule.class))) {
+ } else if (WebModule.class.equals(moduleType)
+ && (loadingRequiredModuleTypes.contains(WebModule.class) || loadingRequiredModuleTypes.contains(EjbModule.class) || loadingRequiredModuleTypes
+ .contains(PersistenceModule.class))) {
webModules.put(entry.getKey(), entry.getValue());
}
} catch (UnsupportedOperationException e) {
@@ -431,8 +434,9 @@ public class DeploymentLoader {
String absolutePath = ejbFile.getAbsolutePath();
EjbModule ejbModule = createEjbModule(ejbUrl, absolutePath, appClassLoader, moduleName);
-
- appModule.getEjbModules().add(ejbModule);
+ if (loadingRequiredModuleTypes.contains(EjbModule.class)) {
+ appModule.getEjbModules().add(ejbModule);
+ }
} catch (OpenEJBException e) {
logger.error("Unable to load EJBs from EAR: " + appId + ", module: " + moduleName + ". Exception: " + e.getMessage(), e);
}