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 2011/11/24 16:38:36 UTC
svn commit: r1205887 -
/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java
Author: rmannibucau
Date: Thu Nov 24 15:38:35 2011
New Revision: 1205887
URL: http://svn.apache.org/viewvc?rev=1205887&view=rev
Log:
trying to load persistence.xml in submodules for webapp when openejb.read-all.persistence.xml=true
Modified:
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java
Modified: openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java?rev=1205887&r1=1205886&r2=1205887&view=diff
==============================================================================
--- openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java (original)
+++ openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java Thu Nov 24 15:38:35 2011
@@ -88,6 +88,7 @@ import static org.apache.openejb.util.UR
*/
public class DeploymentLoader implements DeploymentFilterable {
public static final Logger logger = Logger.getInstance(LogCategory.OPENEJB_STARTUP_CONFIG, "org.apache.openejb.util.resources");
+ public static final String OPENEJB_READ_ALL_PERSISTENCE_XML = "openejb.read-all.persistence.xml";
private static final String OPENEJB_ALTDD_PREFIX = "openejb.altdd.prefix";
private static final String ddDir = "META-INF/";
private boolean scanManagedBeans = true;
@@ -190,6 +191,14 @@ public class DeploymentLoader implements
AppModule appModule = new AppModule(OpenEJB.class.getClassLoader(), file.getAbsolutePath(), new Application(), true);
addWebModule(appModule, baseUrl, OpenEJB.class.getClassLoader(), getContextRoot(), getModuleName());
+ if (Boolean.getBoolean(OPENEJB_READ_ALL_PERSISTENCE_XML)) {
+ WebModule webModule = appModule.getWebModules().iterator().next();
+ final List<URL> urls = webModule.getUrls();
+ final ResourceFinder finder = new ResourceFinder("", urls.toArray(new URL[urls.size()]));
+ final Map<String, URL> dd = getDescriptors(finder, false);
+ webModule.getAltDDs().putAll(dd);
+ }
+
URL persistenceUrl = null;
if (file.isDirectory()) {
File persistenceXml = new File(file, "WEB-INF/classes/META-INF/persistence.xml");
@@ -239,6 +248,7 @@ public class DeploymentLoader implements
// no-op
}
}
+
addPersistenceUnits(appModule, baseUrl);
return appModule;
}