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