[jboss-user] [Management, JMX/JBoss] - mbean definition doesn't work moving from 3.2.5 to 4.0.4

rkapil do-not-reply at jboss.com
Thu Sep 14 15:45:39 EDT 2006


Sorry if this is a redundant question. I searched the board and found something similar, but I still don't know what changes I need to make in my xml file. It works fine in JBoss 3.2.5, but throws an exception in 4.0.4.

Any help would be appreciated. 

Here is the file:


  | <?xml version="1.0" encoding="UTF-8"?>
  | <!DOCTYPE mbean PUBLIC "-//JBoss//DTD JBOSS XMBEAN 1.0//EN" "http://www.jboss.org/j2ee/dtd/jboss_xmbean_1_0.dtd">
  | 
  | <mbean>
  |   <description>This is the module responsible for processing logins, and has gauges defined describing its state.</description>
  |   <descriptors>
  |     <persistence/>
  |   </descriptors>
  |   <class>com.company.auth.login.AsmLoginMonitor</class>
  | 
  |   <!--attributes-->
  |   <attribute access="read-write" getMethod="getAsmLoginModuleLoginAttemptsRateWindowTimeInMillis" 
  | setMethod="setAsmLoginModuleLoginAttemptsRateWindowTimeInMillis">
  | 
  |     <description>Gets the rate window time for the AsmLoginModule attempts in milliseconds.</description>
  |     <name>AsmLoginModuleLoginAttemptsRateWindowTimeInMillis</name>
  |     <type>long</type>
  |     <descriptors>
  |       <persistence/>
  | 
  |     </descriptors>
  |   </attribute>
  |   <attribute access="read-write" getMethod="getAsmLoginModuleLoginAttemptsSubRateWindowTimeInMillis" 
  | setMethod="setAsmLoginModuleLoginAttemptsSubRateWindowTimeInMillis">
  | 
  |     <description>Gets the rate window time for the AsmLoginModule attempts in milliseconds.</description>
  |     <name>AsmLoginModuleLoginAttemptsSubRateWindowTimeInMillis</name>
  |     <type>long</type>
  |     <descriptors>
  |       <persistence/>
  | 
  |     </descriptors>
  |   </attribute>
  |   <attribute access="read-only" getMethod="getCurrentAsmLoginModuleFailureRate">
  | 
  |     <description>Returns the current number of failures in the current window.</description>
  |     <name>CurrentAsmLoginModuleFailureRate</name>
  |     <type>int</type>
  |     <descriptors>
  |       <persistence/>
  | 
  |     </descriptors>
  |   </attribute>
  |   <attribute access="read-only" getMethod="getCurrentAsmLoginModuleSuccessRate">
  | 
  |     <description>Returns the current number of successes in the current window.</description>
  |     <name>CurrentAsmLoginModuleSuccessRate</name>
  |     <type>int</type>
  |     <descriptors>
  |       <persistence/>
  | 
  |     </descriptors>
  |   </attribute>
  |   <attribute access="read-only" getMethod="getAsmLoginModuleFailurePercentage">
  | 
  |     <description>Returns the current percentage of failures in the current window.</description>
  |     <name>AsmLoginModuleFailurePercentage</name>
  |     <type>float</type>
  |     <descriptors>
  |       <persistence/>
  | 
  |     </descriptors>
  |   </attribute>
  |   <attribute access="read-only" getMethod="getAsmLoginModuleSuccessPercentage">
  | 
  |     <description>Returns the current percentage of successes in the current window.</description>
  |     <name>AsmLoginModuleSuccessPercentage</name>
  |     <type>float</type>
  |     <descriptors>
  |       <persistence/>
  | 
  |     </descriptors>
  |   </attribute>
  |   <attribute access="read-only" getMethod="getAsmLoginModuleAverageTiming">
  | 
  |     <description>Returns the average time, over the sub window, taken to execute the login.</description>
  |     <name>AsmLoginModuleAverageTiming</name>
  |     <type>float</type>
  |     <descriptors>
  |       <persistence/>
  | 
  |     </descriptors>
  |   </attribute>
  |   <attribute access="read-only" getMethod="getActiveDirectoryAverageTiming">
  | 
  |     <description>Returns the average time, over the sub window, taken to execute the ActiveDirectory login.</description>
  |     <name>ActiveDirectoryAverageTiming</name>
  |     <type>float</type>
  |     <descriptors>
  |       <persistence/>
  | 
  |     </descriptors>
  |   </attribute>
  | 
  | <!--artificial attributes-->
  | 
  | <!--operations -->
  |   <operation impact="ACTION_INFO">
  |     <description>Returns all login attempts over the entire window.</description>
  |     <name>getAllAsmLoginAttempts</name>
  |     <return-type>java.util.Collection</return-type>
  |     <descriptors>
  |     </descriptors>
  |   </operation>
  |   <operation impact="ACTION_INFO">
  |     <description>Returns all login attempts over the entire window for a particular user.</description>
  |     <name>getAllAsmLoginModuleAttemptsForUser</name>
  |     <parameter>
  |       <description>(no description)</description>
  |       <name>username</name>
  |       <type>java.lang.String</type>
  |     </parameter>
  |     <return-type>java.util.Collection</return-type>
  |     <descriptors>
  |     </descriptors>
  |   </operation>
  |   <operation impact="ACTION_INFO">
  |     <description>Returns all AD login attempts over the entire window.</description>
  |     <name>getAllActiveDirectoryAttempts</name>
  |     <parameter>
  |       <description>(no description)</description>
  |       <name>username</name>
  |       <type>java.lang.String</type>
  |     </parameter>
  |     <return-type>java.util.Collection</return-type>
  |     <descriptors>
  |     </descriptors>
  |   </operation>
  |   <operation impact="ACTION_INFO">
  |     <description>Returns all AD login attempts over the entire window for a particular user.</description>
  |     <name>getAllActiveDirectoryAttemptsForUser</name>
  |     <parameter>
  |       <description>(no description)</description>
  |       <name>username</name>
  |       <type>java.lang.String</type>
  |     </parameter>
  |     <return-type>java.util.Collection</return-type>
  |     <descriptors>
  |     </descriptors>
  |   </operation>
  |   <operation impact="ACTION_INFO">
  |     <description>Returns all AD login attempts over the entire window for a particular user.</description>
  |     <name>getAllActiveDirectoryAttemptsForProviderURL</name>
  |     <return-type>java.util.Collection</return-type>
  |     <descriptors>
  |     </descriptors>
  |   </operation>
  |   <operation impact="ACTION_INFO">
  |     <description>Returns all unique provider urls used in making Active Directory calls from the ActiveDirectoryAuthenticationProvider.</description>
  |     <name>getAllUniqueActiveDirectoryProviderURLs</name>
  |     <return-type>java.util.Collection</return-type>
  |     <descriptors>
  |     </descriptors>
  |   </operation>
  |   <operation impact="ACTION_INFO">
  |     <description>Returns the number of attempts to a particular Provider URL.</description>
  |     <name>getActiveDirectoryProviderURLCount</name>
  |     <parameter>
  |       <description>(no description)</description>
  |       <name>providerUrl</name>
  |       <type>java.lang.String</type>
  |     </parameter>
  |     <return-type>int</return-type>
  |     <descriptors>
  |     </descriptors>
  |   </operation>
  |   <operation impact="ACTION_INFO">
  |     <description>Appends the attempt to the rate window.</description>
  |     <name>addAsmLoginModuleAttempt</name>
  |     <parameter>
  |       <description>(no description)</description>
  |       <name>username</name>
  |       <type>java.lang.String</type>
  |     </parameter>
  |     <parameter>
  |       <description>(no description)</description>
  |       <name>result</name>
  |       <type>java.io.Serializable</type>
  |     </parameter>
  |     <parameter>
  |       <description>(no description)</description>
  |       <name>time</name>
  |       <type>java.lang.Long</type>
  |     </parameter>
  |     <return-type>void</return-type>
  |     <descriptors>
  |     </descriptors>
  |   </operation>
  |   <operation impact="ACTION_INFO">
  |     <description>Appends the attempt to the rate window.</description>
  |     <name>addActiveDirectoryAttempt</name>
  |     <parameter>
  |       <description>(no description)</description>
  |       <name>username</name>
  |       <type>java.lang.String</type>
  |     </parameter>
  |     <parameter>
  |       <description>(no description)</description>
  |       <name>domain</name>
  |       <type>java.lang.String</type>
  |     </parameter>
  |     <parameter>
  |       <description>(no description)</description>
  |       <name>providerUrl</name>
  |       <type>java.lang.String</type>
  |     </parameter>
  |     <parameter>
  |       <description>(no description)</description>
  |       <name>result</name>
  |       <type>java.io.Serializable</type>
  |     </parameter>
  |     <parameter>
  |       <description>(no description)</description>
  |       <name>time</name>
  |       <type>java.lang.Long</type>
  |     </parameter>
  |     <return-type>void</return-type>
  |     <descriptors>
  |     </descriptors>
  |   </operation>
  | 
  | <!--artificial operations-->
  | 
  | <!--notifications -->
  | 
  | </mbean>
  | 
And here is the error message on startup:

  | Caused by: RuntimeOperationsException: null Cause: java.lang.IllegalArgumentException: Invalid role, for operation 'getAllAsmLoginAttempts' expected 'getter' but got: operation
  | 	at javax.management.modelmbean.ModelMBeanOperationInfo.isOperationDescriptorValid(ModelMBeanOperationInfo.java:232)
  | 	at javax.management.modelmbean.ModelMBeanOperationInfo.setDescriptor(ModelMBeanOperationInfo.java:213)
  | 	at javax.management.modelmbean.ModelMBeanOperationInfo.<init>(ModelMBeanOperationInfo.java:159)
  | 	at org.jboss.mx.metadata.JBossXMBean10.buildOperationInfo(JBossXMBean10.java:323)
  | 	at org.jboss.mx.metadata.JBossXMBean10.buildMBeanMetaData(JBossXMBean10.java:239)
  | 	at org.jboss.mx.metadata.JBossXMBean10.build(JBossXMBean10.java:119)
  | 	... 92 more
  | Caused by: java.lang.IllegalArgumentException: Invalid role, for operation 'getAllAsmLoginAttempts' expected 'getter' but got: operation
  | 	... 98 more
  | 

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3971672#3971672

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3971672



More information about the jboss-user mailing list