I would say the opposite behavior should be the default since if there is an ejb-link it must be resolvable in the scope of the current deployment while a jndi-name cannot in general be resolved since this can refer to an external server that need not even be available during deployment. Therefore, use the ejb-link first, and if none is specified, use the jndi-name. To maintain the current behavior add a flag to the war deployer which treats failures to resolve ejb-links as deployment errors. This would be false by default in which case a failure to resolve an ejb-link triggers fallback to the use of the jndi-name.
I disagee with the last bit here. If ejb-link is specified and the target EJB does not exist in the current deployment, then it should definitely be a deployment error as the standard descriptor was mis-assembled. Any flag should be to turn this behaviour off and allow a mis-configured deployment to drop through to the [local-]jndi-name; this should apply to the EJB deployer as well for consistency.
If no ejb-link is specified, then a [local-]jndi-name must be specified. If it is not, then it's a deployment error (as it is now for EJBs and should be for WARs) as there is no sensible default (well, maybe the ejb-ref-name less any "ejb/").
I agree. I think using the ejb-link first is preferable, because it is part of the standard descriptor. If it is absent, fallback to the [local-]jndi-name. If it is specified but wrong, then use the flag to indicate to use the jndi-name.
ejb-local-refs are only intended for ejbs in the same deployment so ejb-link should suffice, but the spec is not very explicit. The way jboss works, this won't be a problem. It should not break any existing deployments.
Sorry, but I'm not sure what you mean - do you mean that you are or aren't in favour of making the handling consistent, and therefore introducing the ejb-local-ref element?
There is no need for an ejb-local-ref in the JBoss specific descriptors as the ejb-link element handles this in the standard descriptor. There is no reason why the metadata needs to be expanded to allow for specifying the local home jndi name.
There is, because ejb-link is optional: <!ELEMENT ejb-local-ref (description?, ejb-ref-name, ejb-ref-type, local-home, local, ejb-link?)> ^ ------------------------------|
and if it's not there you need to be able to specify the target's local-jndi-name.
Yup, I agree.
Jan
/**************************************** * Jan Bartel <[EMAIL PROTECTED]> * Associate * Core Developers Network LLC * http://www.coredevelopers.net ****************************************/
------------------------------------------------------- This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data Reports, E-commerce, Portals, and Forums are available now. Download today and enter to win an XBOX or Visual Studio .NET. http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_061203_01/01 _______________________________________________ Jboss-development mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-development