On Oct 5, 2007, at 12:14 PM, Joe Bohn wrote:
NOTE: This was also posted on the Geronimo dev list.
We've been hitting some errors in the TCK tests that validate mgmt
with MEJB. The main problem was that we were failing the name lookup:
javax.naming.NameNotFoundException: Name "java:openejb/Deployment/
MEJBGBean/MEJB/javax.management.j2ee.Management" not found
I thought this was strange because we don't include the MEJBGBean
any longer in the geronimo assembly and I could find no reference
to it in the Geronimo code at all.
It turns out that we map to the "GBEAN" name when there is no
mappedName specified in the Openejb code. In
o.a.openejb.config.GeronimoMappedName at line 65 there is this
piece of code which Geronimo is apparently very dependent upon
if (null == mappedName && ref.getEjbRefName().equals("ejb/MEJB")) {
ref.setMappedName("MEJBGBean/MEJB");
}
So I assume the mappedName must always be null and we need to force
this mapping for Geronimo?
Once I modified the name to match the newly enabled MEJB app's id,
"mejb/ejb/mgmt/MEJB", then I finally started to see failures that
matched what Anita indicated we should see without the correct
authorization.
So what should we do with this openejb change? We were hoping to
release Geronimo 2.0.2 with openejb 3.0-beta-1 which has the old
name still included. There are probably other ways around this
that would only require Geronimo (such as making the new name match
the old name ... but that's really ugly) or perhaps TCK
configuration changes. Any suggestions?
How about you add a JNDI link from MEJBGBean/MEJB to mejb/ejb/mgmt/MEJB?
-dain