The architectural flaw that David pointed out is that the container
knew about the JNDI names. Since we split the container and the
deployment apart in 2.2, the container is no longer aware of the JNDI
names or the TSS stuff. I don't think this addresses all of David's
concerns, but it is definitely an improvement.
Anyway, I think I have a simple idea to address naming. If we use
naming protocols to designate the naming type, we should be able to
have a single string for all existing naming systems. For example:
<jndi-names>
ejbs/foo
rmi://foo
openejb://ejbs/foo
cos-naming://foo-tss
jaxr://foo
</jndi-names>
To process this we can either have actual contexts bound under those
names that handle the binding correctly (this is how rmi naming
works), or we can have a JNDI binding GBeans for the specific
protocols that ignore the unknown protocols.
The nice thing about this solution is it doesn't require any special
knowledge on our users' part.
-dain