Sebastian, please be so kind and post the patch.
To fix LoggerDynamicMBean, I don't see another option besides copying
the class to hivemind.
Achim
Sebastian Zaffarano wrote:
Achim, not only spaces, Jboss MBeanFreatureInfo validates that name must be a
valid java identifier (not spaces, not commas, etc.). Our solution was
naming the attributes in this mode:
MethodName_param1Type_param2Type_Measurement
example:
// for a method "public void create(Object o)"
create_java_lang_Object_Count
// for a method "public void create(Object o, String s)"
create_java_lang_Object_java_lang_String_MinimumTime
if you want, we can post a patch in the list with this an others minor
changes.
thanks!
On Wednesday 15 June 2005 03:39, Achim Huegen wrote:
Thanks for the hint.
I myself was quite surprised that attribute names containing spaces
were allowed, but it worked with Suns reference implementation and
nothing in the specificiation states, that it is not allowed.
Eventually I found it described in JavaDoc:
http://java.sun.com/j2ee/1.4/docs/api/javax/management/MBeanFeatureInfo.htm
l#MBeanFeatureInfo(java.lang.String, java.lang.String)
I'll fix this.
Achim
Am Tue, 14 Jun 2005 12:04:22 -0300 schrieb Sebastian Zaffarano
<[EMAIL PROTECTED]>:
Hi,
We are trying to use hivemind-jmx in our application running under JBoss
3.2.7. The "hivemind.management.MBeans" contribution is ok, but we've
found problems (conflicts) with PerformanceMonitor and LogManagement:
- javax.management.MBeanFeatureInfo's JBoss implementation (superclass of
javax.management.MBeanParameterInfo y
javax.management.MBeanAttributeInfo), validates in his constructor that
"name" (first constructor's parameter) must be a valid java identifier
(ex: "blah" is valid but "blah blah" is not).
- PerformanceMonitor expose dynamic MBeans, and it has in its attribute's
names the method signature that it is collecting info ( ex someMethod(
some parameter ) ); then, when the interceptor tries to register the
dynamic MBean gets a runtime exception:
java.lang.IllegalArgumentException: name is not a valid java type (or is
a reserved word): blah blah
at javax.management.MBeanFeatureInfo.<init>(MBeanFeatureInfo.java:68)
at
javax.management.MBeanAttributeInfo.<init>(MBeanAttributeInfo.java:99) at
gov.afip.pampa.component.AttributeInfoTest.main(AttributeInfoTest.java:20
)
our solution was modify the interceptor
(org.apache.hivemind.management.impl.PerformanceMonitorFactory), to use
names that are valid java identifiers.
- Also, LogManagement uses for dynamic MBeans
org.apache.log4j.jmx.LoggerDynamicMBean, and this class creates
javax.management.MBeanParameterInfo with invalid (for JBoss) names:
// the <SPACE> in "class name" is wrong
params[0] = new MBeanParameterInfo("class name", "java.lang.String",
"add an appender to this logger");
// idem
params[1] = new MBeanParameterInfo("appender name",
"java.lang.String", "name of the appender");
again, our solution was implement this class and modify the
ParameterInfo's name.
Anyone has already found this problems with JBoss and hivemind-jmx? How
was solved?
I think it would be important for hivemind-jmx to be capable of running
under JBoss out-of-the-box considering it is the open source application
server with greatest market share and developer adoption.
Thanks!
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]