Roger Holbrook
2002-01-24 00:11:05 UTC
Trying to run the RI RelationService example with OpenJMX produces
a problem with introspection.
Specifically, if an instance of the RelationService has been successfully
registered with the server, the following call:
Object[] params1 = new Object[0];
String[] signature1 = new String[0];
ArrayList relTypeNameList = (ArrayList)
(server.invoke(relServObjName,
"getAllRelationTypeNames",
params1,
signature1));
will produce a stack trace like:
javax.management.ReflectionException:
nested exception is java.lang.NoSuchMethodException: getAllRelationTypeNames
java.lang.NoSuchMethodException: getAllRelationTypeNames
at openjmx.MBeanIntrospector.findStdOperationMethod(MBeanIntrospector.java:510)
at openjmx.MBeanIntrospector.invoke(MBeanIntrospector.java:212)
at openjmx.MBeanServerImpl.invoke(MBeanServerImpl.java:158)
at RelationAgent.printRelationTypeInfo(RelationAgent.java:794)
at RelationAgent.doSimpleDemo(RelationAgent.java:179)
at RelationAgent.main(RelationAgent.java:87)
Within MBeanIntrospector the code looks like:
MBeanIntrospector.invoke()
{
if (isDynamic(mbean))
{
}
else
{
// Find the operation
Method operation = findStdOperationMethod(mbean, methodName, parameters);
// but no attempt to find a match among the attributes!!!
// PROBLEM
}
...
}
Roger
a problem with introspection.
Specifically, if an instance of the RelationService has been successfully
registered with the server, the following call:
Object[] params1 = new Object[0];
String[] signature1 = new String[0];
ArrayList relTypeNameList = (ArrayList)
(server.invoke(relServObjName,
"getAllRelationTypeNames",
params1,
signature1));
will produce a stack trace like:
javax.management.ReflectionException:
nested exception is java.lang.NoSuchMethodException: getAllRelationTypeNames
java.lang.NoSuchMethodException: getAllRelationTypeNames
at openjmx.MBeanIntrospector.findStdOperationMethod(MBeanIntrospector.java:510)
at openjmx.MBeanIntrospector.invoke(MBeanIntrospector.java:212)
at openjmx.MBeanServerImpl.invoke(MBeanServerImpl.java:158)
at RelationAgent.printRelationTypeInfo(RelationAgent.java:794)
at RelationAgent.doSimpleDemo(RelationAgent.java:179)
at RelationAgent.main(RelationAgent.java:87)
Within MBeanIntrospector the code looks like:
MBeanIntrospector.invoke()
{
if (isDynamic(mbean))
{
}
else
{
// Find the operation
Method operation = findStdOperationMethod(mbean, methodName, parameters);
// but no attempt to find a match among the attributes!!!
// PROBLEM
}
...
}
Roger