public abstract class DynamicMBeanAbstract2<E> extends DynamicMBeanAbstract
实现程序范例:
需要JMS的类
public class MyClass
{
// 获取属性的实际操作方法
public String getVal(String val)
{
return val;
}
// 设置属性的实际操作方法
public void setVal(String val)
{
}
// 操作的实际操作代码
public boolean oper1()
{
return true;
}
// 属性处理枚举类。
public enum MyClassMBeanAttribute
implements DynamicMBeanAttribute
{
Attr1
{
// 属性名称。
public String getName()
{
return this.name();
}
// 获取属性MBean信息。
public MBeanAttributeInfo getMBeanAttributeInfo()
{
return new MBeanAttributeInfo(getName(),
"java.lang.String",
"测试属性1",
true,
true,
false);
}
// 获取属性值。
public Object getAttribute(MyClass owner)
throws AttributeNotFoundException, MBeanException,
ReflectionException
{
return owner.getVal("测试1");
}
// 设置属性值。
public void setAttribute(MyClass owner,
Object val)
{
owner.setVal(String.valueOf(val));
}
},
Attr2 // 第二个属性
{
public String getName()
{
return this.name();
}
public MBeanAttributeInfo getMBeanAttributeInfo()
{
return new MBeanAttributeInfo(getName(),
"java.lang.String",
"测试属性2",
true,
true,
false);
}
public Object getAttribute(MyClass owner)
throws AttributeNotFoundException, MBeanException,
ReflectionException
{
return owner.getVal("测试1");
}
public void setAttribute(MyClass owner,
Object val)
{
owner.setVal(String.valueOf(val));
}
};
}
// 操作枚举类。
public enum MyClassMBeanOperation
implements DynamicMBeanOperation
{
oper1
{
// 操作名称。
public String getName()
{
return this.name();
}
// 获取操作MBean信息。
public MBeanOperationInfo getMBeanOperationInfo()
{
return new MBeanOperationInfo(getName(),
"测试方法1",
null,
"boolean",
MBeanOperationInfo.INFO);
}
// 调用操作处理。
public Object invoke(MyClass owner,
Object[] params, String[] signature)
throws MBeanException, ReflectionException
{
return owner.oper1();
}
},
// 带参数方法
oper2
{
// 操作名称。
public String getName()
{
return this.name();
}
// 获取操作MBean信息。
public MBeanOperationInfo getMBeanOperationInfo()
{
MBeanParameterInfo[] params;
params = new MBeanParameterInfo[]
{ new MBeanParameterInfo("beanName",
"java.lang.String",
"获取指定名称的对象") };
return new MBeanOperationInfo(getName(),
"测试方法2",
params,
"boolean",
MBeanOperationInfo.INFO);
}
// 调用操作处理。
public Object invoke(MyClass owner,
Object[] params, String[] signature)
throws MBeanException, ReflectionException
{
return owner.oper1();
}
}
}
// MBean类。
public class TestMBean extends
DynamicMBeanAbstract2
{
public TestMBean(MyClass owner)
{
super(owner);
}
public TestMBean(MyClass owner,
String name,
String desc)
{
super(owner, name, desc);
} | 构造器和说明 |
|---|
DynamicMBeanAbstract2(E owner)
构造函数。
|
DynamicMBeanAbstract2(E owner,
java.lang.String name,
java.lang.String desc)
构造函数。
|
| 限定符和类型 | 方法和说明 |
|---|---|
java.lang.Object |
getAttribute(java.lang.String attribute)
获取属性值。
|
protected abstract DynamicMBeanAttribute<E>[] |
getAttributes()
获取所有属性处理对象。
|
protected javax.management.MBeanAttributeInfo[] |
getMBeanAttributeInfos()
获取属性接口信息。
|
protected javax.management.MBeanNotificationInfo[] |
getMBeanNotificationInfos()
已过时。
|
protected javax.management.MBeanOperationInfo[] |
getMBeanOperationInfos()
获取操作接口信息。
|
protected abstract DynamicMBeanOperation<E>[] |
getOperations()
获取所有操作处理对象。
|
java.lang.Object |
invoke(java.lang.String actionName,
java.lang.Object[] params,
java.lang.String[] signature)
调用方法。
|
protected void |
setAttribute(java.lang.String name,
java.lang.Object val)
设置属性。
|
getAttributes, getMBeanInfo, getMBeanName, registerMBean, setAttribute, setAttributes, unregisterMBeanpublic DynamicMBeanAbstract2(E owner)
owner - MBean的所属对象。public DynamicMBeanAbstract2(E owner, java.lang.String name, java.lang.String desc)
owner - MBean的所属对象。name - 对象名称。1.若指定不带冒号:的名称,直接使用当前类打包路径,指定名称的对象。 若使用当前类打包路径,又想有多级目录可按以下格式: path1,key2=path2,key3=name 例如:pool1,key2=user1,key3=ConnectionPool 2.若带冒号:,语法为:[domainName]:property=value[,property=value]* 需要多级时加多个不同名称的property即可。
desc - 对象描述。protected abstract DynamicMBeanAttribute<E>[] getAttributes()
protected abstract DynamicMBeanOperation<E>[] getOperations()
public java.lang.Object getAttribute(java.lang.String attribute)
throws javax.management.AttributeNotFoundException,
javax.management.MBeanException,
javax.management.ReflectionException
javax.management.AttributeNotFoundExceptionjavax.management.MBeanExceptionjavax.management.ReflectionExceptionDynamicMBean.getAttribute(java.lang.String)public java.lang.Object invoke(java.lang.String actionName,
java.lang.Object[] params,
java.lang.String[] signature)
throws javax.management.MBeanException,
javax.management.ReflectionException
javax.management.MBeanExceptionjavax.management.ReflectionExceptionDynamicMBean.invoke(java.lang.String, java.lang.Object[], java.lang.String[])protected javax.management.MBeanOperationInfo[] getMBeanOperationInfos()
getMBeanOperationInfos 在类中 DynamicMBeanAbstractDynamicMBeanAbstract.getMBeanOperationInfos()protected javax.management.MBeanAttributeInfo[] getMBeanAttributeInfos()
getMBeanAttributeInfos 在类中 DynamicMBeanAbstractDynamicMBeanAbstract.getMBeanAttributeInfos()protected javax.management.MBeanNotificationInfo[] getMBeanNotificationInfos()
getMBeanNotificationInfos 在类中 DynamicMBeanAbstractDynamicMBeanAbstract.getMBeanNotificationInfos()protected void setAttribute(java.lang.String name,
java.lang.Object val)
Copyright © 2001-2014 hynnet.com