Anita Kulshreshtha wrote:
--- Joe Bohn <[EMAIL PROTECTED]> wrote:

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");
}

    I believe this code is there because the old MEJB was a plain
GBean. I am not very familiar with openejb code. This code is probably
not needed any more. If we do not want to release antoher openejb, we
could try making MEJBGBean a 'nop' EJB. This is not gong to be any less
ugly..

I think this code (or some form of it) is still needed and just making the MEJBGBean a 'nop' will not resolve the problem. With the code completely removed from GeronimoMappedName (rather than just mapping it to the new name) the mappedName in the ejbref eventually resolves to "ejb/MEJB" which of course will not match "ejb/mgmt/MEJB". It looks like the MEJB reference in the app might be incorrect. The spec indicates the recommended name is "ejb/mgmt/MEJB".

Joe



The following code in MEJBGBean (geronimo-openejb)
StatelessBean bean = ejbJar.addEnterpriseBean(new
StatelessBean("MEJB",MEJBBean.class.getName()));

   can be modified to replace MEJBBean with a dummy class in
geronimo-openejb. I have not tested this...
   If something can be changed in TCK that would be great.

Thanks
Anita

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?

Joe




      
____________________________________________________________________________________
Catch up on fall's hot new shows on Yahoo! TV. Watch previews, get listings, 
and more!
http://tv.yahoo.com/collections/3658

Reply via email to