Actually it does not work .. here's a patch, that fixes at least the local 
ejb-links. Mappings, that are specified in jboss.xml are not supported as 
of the current implementation. Somebody else posted the same bug, see 
jboss-Bugs-520454.

There's another problem left with ejb-links, that span over different 
ejb-jars in an ear, see my previous postings with subject "[JBoss-dev] bug 
in ear deployment". I think we need something like an EARDeployer and / or 
something, that bundles Applications into EnterpriseApplications ..

BTW: websphere 4 allows to choose between one classloader per ear or one 
classloader per ejb-jar.

Holger
Index: server/src/main/org/jboss/ejb/Container.java
===================================================================
RCS file: /cvsroot/jboss/jboss/src/main/org/jboss/ejb/Container.java,v
retrieving revision 1.76
diff -u -r1.76 Container.java
--- server/src/main/org/jboss/ejb/Container.java        17 Feb 2002 03:06:45 -0000     
 1.76
+++ server/src/main/org/jboss/ejb/Container.java        20 Feb 2002 14:45:23 -0000
@@ -854,12 +854,11 @@
                {
                   // Internal link
                   log.debug("Binding "+refName+" to bean source: "+ref.getLink());
-                  if (getApplication().getContainer(ref.getLink()) == null)
+
+                  Container refContainer = 
+getApplication().getContainer(ref.getLink());
+                  if (refContainer == null)
                      throw new DeploymentException ("Bean "+ref.getLink()+" not found 
within this application.");
-                  /* Create a link from the ENC to the localJndiName where the
-                     which is the location of the local home
-                  */
-                  Util.bind(envCtx, refName, new LinkRef(localJndiName));
+                  Util.bind(envCtx, ref.getName(), new 
+LinkRef(refContainer.getBeanMetaData().getLocalJndiName()));
                }
                else
                {

Reply via email to