[ mx4j-Bugs-940161 ] RequiredModelMBean methods are not invoked !!!

"SourceForge.net" <[email protected]>
Newsgroups gmane.comp.java.mx4j.devel
Message-ID <[email protected]>
Bugs item #940161, was opened at 2004-04-22 18:46
Message generated for change (Comment added) made by emcmanus
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=450647&aid=940161&group_id=47745

Category: JMX implementation
Group: Release 2.0.1
Status: Open
Resolution: None
Priority: 5
Submitted By: Nobody/Anonymous (nobody)
Assigned to: Brian Scully (btscully)
Summary: RequiredModelMBean methods are not invoked !!!

Initial Comment:
Here is what I get when I want to call "sendNotification" 
on a RequiredModelMBean from mbeanServer.invoke() :

javax.management.ServiceNotFoundException: Cannot 
find ModelMBeanOperationInfo for operation 
sendNotification
	at 
javax.management.modelmbean.RequiredModelMBean.invo
ke(RequiredModelMBean.java:599)
	at 
mx4j.server.interceptor.InvokerMBeanServerInterceptor.in
voke(InvokerMBeanServerInterceptor.java:218)
	at 
mx4j.server.interceptor.DefaultMBeanServerInterceptor.in
voke(DefaultMBeanServerInterceptor.java:121)
	at 
mx4j.server.interceptor.SecurityMBeanServerInterceptor.i
nvoke(SecurityMBeanServerInterceptor.java:86)
	at 
mx4j.server.interceptor.DefaultMBeanServerInterceptor.in
voke(DefaultMBeanServerInterceptor.java:121)
	at 
mx4j.server.interceptor.DefaultMBeanServerInterceptor.in
voke(DefaultMBeanServerInterceptor.java:121)
	at 
mx4j.server.interceptor.ContextClassLoaderMBeanServerI
nterceptor.invoke
(ContextClassLoaderMBeanServerInterceptor.java:205)
	at mx4j.server.MX4JMBeanServer.invoke
(MX4JMBeanServer.java:1079)


The specs say explicitely that this call should work !!! 
(top of page 89, JMX 1.2 mr 2) :
"The RequiredModelMBean class extends these 
semantics. If the method name and
signature supplied to invoke correspond to a public 
method of the
RequiredModelMBean class itself, then that method is 
invoked. Otherwise, the
behaviour is as explained above."

By the way, this problem doesn't occur with Sun's JMX 
RI 1.2.1.

Therefore your JUnit test 
RequiredModelMBeanTest.testInvokeModelMBeanMethods
() is also wrong, since RequiredModelMBean public 
methods can be possibly invoked via the MBeanServer.

It's also very surprising that nobody has noticed this 
huge bug yet !

(submitted by [email protected])

----------------------------------------------------------------------

Comment By: Eamonn McManus (emcmanus)
Date: 2004-06-14 11:01

Message:
Logged In: YES 
user_id=770046

The spec was updated in version 1.2 to require this
behaviour explicitly (see RequiredModelMBean.invoke). 
Previously it was hinted at, and implemented in the RI, but
not obviously required.

The latest published version of the RI has a bug where it
will invoke a metod in RequiredModelMBean even if that
method is not declared in the ModelMBeanInfo.  This bug has
been fixed in the version that has been integrated into
Tiger (J2SE 1.5).  I just wanted to make sure MX4J didn't
end up being bug-compatible here...

----------------------------------------------------------------------

Comment By: Brian Scully (btscully)
Date: 2004-06-14 01:12

Message:
Logged In: YES 
user_id=234750

I can see exactly what you are referring to in the
specification - and I think your interpretation is the right
one.  However, the test case for RequiredModelMBean
explicitly tests against this.  The test case fails if RMMB
allows an invocation of its own methods through the "invoke"
call.  I'm not sure where this came from, but not
implementing the behavior discussed here was done by choice,
not accident.  Perhaps it reflects an older specification -
I don't know.  This matter requires more research - I have
yet to find anything in the specification to back up the
test case...

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=450647&aid=940161&group_id=47745


-------------------------------------------------------
This SF.Net email is sponsored by the new InstallShield X.
From Windows to Linux, servers to mobile, InstallShield X is the
one installation-authoring solution that does it all. Learn more and
evaluate today! http://www.installshield.com/Dev2Dev/0504
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.