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]

Reply via email to