J2EE/EJB has never required/defined how a component should be bound in global JNDI. I hate it too, but there's no changing it...
That's annoying, because that means, the new EJBContext.lookup(String name) is not very useful. If the JNDI names of my components are container dependent, the argument of EJBContext.lookup(String) is container-dependent too!
There should be a second method that accepts the business interface and the name of my EJB (similar to the @EJB annotation) for situations, where "lazy lookup" is required:
public Object lookupEJB(String businessInterface, String name);
Is there any way to specifiy the jndi names for deployment in a external deployment descriptor (jboss.xml) or like that? I just don't want to recompile my application to be deployed under a different jndi name. Maybe I'm just missing a thing.
we're working on XML DD support. Should be done in next release.