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.html#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]

Reply via email to