Methods Summary |
---|
public java.lang.Object | getAttribute(java.lang.String attributeName)
String msg = localStrings.getString( "admin.server.core.mbean.config.getattribute_not_implemented" );
throw new UnsupportedOperationException( msg );
|
public javax.management.AttributeList | getAttributes(java.lang.String[] attributeNames)
String msg = localStrings.getString( "admin.server.core.mbean.config.getattribute_not_implemented" );
throw new UnsupportedOperationException( msg );
|
protected abstract java.lang.Class | getImplementingClass()Abstract method that subclasses have to implement. This is the way for
invoke method to work, through reflection.
|
protected abstract java.lang.Object | getImplementingMBean()Reflection requires the implementing object.
|
public javax.management.MBeanInfo | getMBeanInfo()
String msg = localStrings.getString( "admin.server.core.mbean.config.getmbeaninfo_not_implemented" );
throw new UnsupportedOperationException( msg );
|
public java.lang.Object | invoke(java.lang.String methodName, java.lang.Object[] methodParams, java.lang.String[] methodSignature)Every resource MBean should override this method to execute specific
operations on the MBean. This method is enhanced in 8.0. It was a no-op
in 7.0. In 8.0, it is modified to invoke the actual method through
reflection. It relieves all the subclasses to implement the invoke method
for various operations. If the subclasses choose to implement it, they may
do so.
/* New for 8.0 */
final Class implClass = getImplementingClass();
final Object mbeanReference = getImplementingMBean();
final Introspector reflector = new Introspector(implClass);
Object value = null;
try {
final Method method = reflector.getMethod(methodName, methodSignature);
value = reflector.invokeMethodOn(method, mbeanReference, methodParams);
return ( value );
}
catch (java.lang.ClassNotFoundException cnfe) {
throw new javax.management.ReflectionException(cnfe);
}
catch (java.lang.NoSuchMethodException nsme) {
throw new javax.management.ReflectionException(nsme);
}
catch (java.lang.SecurityException se) {
throw new javax.management.ReflectionException(se);
}
catch (java.lang.reflect.InvocationTargetException ite) {
Throwable t = ite.getTargetException();
if (t instanceof MBeanException) {
throw (MBeanException)t;
}
else
if (t instanceof Exception) {
throw new MBeanException((Exception) t);
}
else { //if an error
String msg = localStrings.getString( "admin.server.core.jmx.error_from_mbean", t.getMessage() );
RuntimeException re = new RuntimeException( msg );
throw new MBeanException(re);
//Do what?
}
}
catch (java.lang.IllegalAccessException iae) {
throw new javax.management.ReflectionException(iae);
}
catch (Exception e) {
throw new MBeanException(e);
}
/* New for 8.0 */
|
public void | setAttribute(javax.management.Attribute attribute)
String msg = localStrings.getString( "admin.server.core.mbean.config.setattribute_not_implemented" );
throw new UnsupportedOperationException( msg );
|
public javax.management.AttributeList | setAttributes(javax.management.AttributeList parm1)
String msg = localStrings.getString( "admin.server.core.mbean.config.setattributes_not_implemented" );
throw new UnsupportedOperationException( msg );
|