That's the question but we shouldnt ignore ejb jar and other dd too. That s why i patched like it.
- Romain Le 28 janv. 2012 00:14, "David Blevins" <[email protected]> a écrit : > Not sure this is accurate. > > The entire webapp itself should be treated as one EjbModule and all jars > in WEB-INF/lib/ and WEB-INF/classes are part of the same module. > > The path of the EjbModule needs to be the same as the WebModule or > ejb-link functionality will break as will resolving persistence units when > there is more than one unit with the same name and the module path is used > to distinguish each. > > > -David > > On Jan 27, 2012, at 3:20 AM, [email protected] wrote: > > > Author: rmannibucau > > Date: Fri Jan 27 11:20:06 2012 > > New Revision: 1236635 > > > > URL: http://svn.apache.org/viewvc?rev=1236635&view=rev > > Log: > > trying to create the web ejb module from WEB-INF/classes if exists to > get DD read > > > > 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=1236635&r1=1236634&r2=1236635&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 > Fri Jan 27 11:20:06 2012 > > @@ -644,8 +644,27 @@ public class DeploymentLoader implements > > // than an ear file, so the ear-style code we were previously > > // using doesn't exactly work anymore. > > // > > + // EjbModule webEjbModule = new > EjbModule(webModule.getClassLoader(), webModule.getModuleId(), > webModule.getJarLocation(), null, null); > > + EjbModule webEjbModule = null; > > + StringBuilder webInfClassesPath = new StringBuilder(warPath); > > + if (!warPath.endsWith("/")) { > > + webInfClassesPath.append("/"); > > + } > > + webInfClassesPath.append("WEB-INF/classes"); > > + final String webInfClasses = webInfClassesPath.toString(); > > + final File webInfClassesFile = new File(webInfClasses); > > + if (webInfClassesFile.exists()) { > > + try { > > + webEjbModule = > createEjbModule(webInfClassesFile.toURI().toURL(), > webModule.getJarLocation(), webModule.getClassLoader(), > webModule.getModuleId()); > > + } catch (MalformedURLException e) { > > + logger.error("can't create an ejbmodule with > WEB-INF/classes"); > > + // don't throw it we use the next test to initialize > the ejbmodule > > + } > > + } > > + if (webEjbModule == null) { > > + webEjbModule = new EjbModule(webModule.getClassLoader(), > webModule.getModuleId(), webModule.getJarLocation(), null, null); > > + } > > > > - EjbModule webEjbModule = new > EjbModule(webModule.getClassLoader(), webModule.getModuleId(), > webModule.getJarLocation(), null, null); > > webEjbModule.getAltDDs().putAll(webModule.getAltDDs()); > > appModule.getEjbModules().add(webEjbModule); > > > > > > > > > >
