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);
                 }