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
{