下面列出了javax.management.modelmbean.ModelMBeanNotificationInfo#javax.management.openmbean.OpenMBeanOperationInfoSupport 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
private OpenMBeanOperationInfo getOperation(String name, OpenMBeanParameterInfo addWildcardChildName, OperationEntry entry) {
ModelNode opNode = entry.getDescriptionProvider().getModelDescription(null);
OpenMBeanParameterInfo[] params = getParameterInfos(opNode);
if (addWildcardChildName != null) {
OpenMBeanParameterInfo[] newParams = new OpenMBeanParameterInfo[params.length + 1];
newParams[0] = addWildcardChildName;
System.arraycopy(params, 0, newParams, 1, params.length);
params = newParams;
}
return new OpenMBeanOperationInfoSupport(
name,
getDescription(opNode),
params,
getReturnType(opNode),
entry.getFlags().contains(Flag.READ_ONLY) ? MBeanOperationInfo.INFO : MBeanOperationInfo.UNKNOWN,
createOperationDescriptor());
}
private static MBeanOperationInfo
customize(MBeanOperationInfo oi,
String description,
MBeanParameterInfo[] signature,
int impact) {
if (equal(description, oi.getDescription()) &&
identicalArrays(signature, oi.getSignature()) &&
impact == oi.getImpact())
return oi;
if (oi instanceof OpenMBeanOperationInfo) {
OpenMBeanOperationInfo ooi = (OpenMBeanOperationInfo) oi;
OpenMBeanParameterInfo[] oparams =
paramsToOpenParams(signature);
return new OpenMBeanOperationInfoSupport(oi.getName(),
description,
oparams,
ooi.getReturnOpenType(),
impact,
oi.getDescriptor());
} else {
return new MBeanOperationInfo(oi.getName(),
description,
signature,
oi.getReturnType(),
impact,
oi.getDescriptor());
}
}
private static MBeanOperationInfo
customize(MBeanOperationInfo oi,
String description,
MBeanParameterInfo[] signature,
int impact) {
if (equal(description, oi.getDescription()) &&
identicalArrays(signature, oi.getSignature()) &&
impact == oi.getImpact())
return oi;
if (oi instanceof OpenMBeanOperationInfo) {
OpenMBeanOperationInfo ooi = (OpenMBeanOperationInfo) oi;
OpenMBeanParameterInfo[] oparams =
paramsToOpenParams(signature);
return new OpenMBeanOperationInfoSupport(oi.getName(),
description,
oparams,
ooi.getReturnOpenType(),
impact,
oi.getDescriptor());
} else {
return new MBeanOperationInfo(oi.getName(),
description,
signature,
oi.getReturnType(),
impact,
oi.getDescriptor());
}
}
private static MBeanOperationInfo
customize(MBeanOperationInfo oi,
String description,
MBeanParameterInfo[] signature,
int impact) {
if (equal(description, oi.getDescription()) &&
identicalArrays(signature, oi.getSignature()) &&
impact == oi.getImpact())
return oi;
if (oi instanceof OpenMBeanOperationInfo) {
OpenMBeanOperationInfo ooi = (OpenMBeanOperationInfo) oi;
OpenMBeanParameterInfo[] oparams =
paramsToOpenParams(signature);
return new OpenMBeanOperationInfoSupport(oi.getName(),
description,
oparams,
ooi.getReturnOpenType(),
impact,
oi.getDescriptor());
} else {
return new MBeanOperationInfo(oi.getName(),
description,
signature,
oi.getReturnType(),
impact,
oi.getDescriptor());
}
}
private static MBeanOperationInfo
customize(MBeanOperationInfo oi,
String description,
MBeanParameterInfo[] signature,
int impact) {
if (equal(description, oi.getDescription()) &&
identicalArrays(signature, oi.getSignature()) &&
impact == oi.getImpact())
return oi;
if (oi instanceof OpenMBeanOperationInfo) {
OpenMBeanOperationInfo ooi = (OpenMBeanOperationInfo) oi;
OpenMBeanParameterInfo[] oparams =
paramsToOpenParams(signature);
return new OpenMBeanOperationInfoSupport(oi.getName(),
description,
oparams,
ooi.getReturnOpenType(),
impact,
oi.getDescriptor());
} else {
return new MBeanOperationInfo(oi.getName(),
description,
signature,
oi.getReturnType(),
impact,
oi.getDescriptor());
}
}
private static MBeanOperationInfo
customize(MBeanOperationInfo oi,
String description,
MBeanParameterInfo[] signature,
int impact) {
if (equal(description, oi.getDescription()) &&
identicalArrays(signature, oi.getSignature()) &&
impact == oi.getImpact())
return oi;
if (oi instanceof OpenMBeanOperationInfo) {
OpenMBeanOperationInfo ooi = (OpenMBeanOperationInfo) oi;
OpenMBeanParameterInfo[] oparams =
paramsToOpenParams(signature);
return new OpenMBeanOperationInfoSupport(oi.getName(),
description,
oparams,
ooi.getReturnOpenType(),
impact,
oi.getDescriptor());
} else {
return new MBeanOperationInfo(oi.getName(),
description,
signature,
oi.getReturnType(),
impact,
oi.getDescriptor());
}
}
private OpenMBeanOperationInfo greetOpenOperationInfo() {
return new OpenMBeanOperationInfoSupport(
GREET_METHOD_NAME, // 操作方法名称
"greet 方法", // 操作方法描述
of(nameOpenMBeanParameterInfo()), // 操作方法参数信息
SimpleType.STRING, // 操作方法返回类型
ACTION);
}
private static MBeanOperationInfo
customize(MBeanOperationInfo oi,
String description,
MBeanParameterInfo[] signature,
int impact) {
if (equal(description, oi.getDescription()) &&
identicalArrays(signature, oi.getSignature()) &&
impact == oi.getImpact())
return oi;
if (oi instanceof OpenMBeanOperationInfo) {
OpenMBeanOperationInfo ooi = (OpenMBeanOperationInfo) oi;
OpenMBeanParameterInfo[] oparams =
paramsToOpenParams(signature);
return new OpenMBeanOperationInfoSupport(oi.getName(),
description,
oparams,
ooi.getReturnOpenType(),
impact,
oi.getDescriptor());
} else {
return new MBeanOperationInfo(oi.getName(),
description,
signature,
oi.getReturnType(),
impact,
oi.getDescriptor());
}
}
private static MBeanOperationInfo
customize(MBeanOperationInfo oi,
String description,
MBeanParameterInfo[] signature,
int impact) {
if (equal(description, oi.getDescription()) &&
identicalArrays(signature, oi.getSignature()) &&
impact == oi.getImpact())
return oi;
if (oi instanceof OpenMBeanOperationInfo) {
OpenMBeanOperationInfo ooi = (OpenMBeanOperationInfo) oi;
OpenMBeanParameterInfo[] oparams =
paramsToOpenParams(signature);
return new OpenMBeanOperationInfoSupport(oi.getName(),
description,
oparams,
ooi.getReturnOpenType(),
impact,
oi.getDescriptor());
} else {
return new MBeanOperationInfo(oi.getName(),
description,
signature,
oi.getReturnType(),
impact,
oi.getDescriptor());
}
}
private static MBeanOperationInfo
customize(MBeanOperationInfo oi,
String description,
MBeanParameterInfo[] signature,
int impact) {
if (equal(description, oi.getDescription()) &&
identicalArrays(signature, oi.getSignature()) &&
impact == oi.getImpact())
return oi;
if (oi instanceof OpenMBeanOperationInfo) {
OpenMBeanOperationInfo ooi = (OpenMBeanOperationInfo) oi;
OpenMBeanParameterInfo[] oparams =
paramsToOpenParams(signature);
return new OpenMBeanOperationInfoSupport(oi.getName(),
description,
oparams,
ooi.getReturnOpenType(),
impact,
oi.getDescriptor());
} else {
return new MBeanOperationInfo(oi.getName(),
description,
signature,
oi.getReturnType(),
impact,
oi.getDescriptor());
}
}
private static MBeanOperationInfo
customize(MBeanOperationInfo oi,
String description,
MBeanParameterInfo[] signature,
int impact) {
if (equal(description, oi.getDescription()) &&
identicalArrays(signature, oi.getSignature()) &&
impact == oi.getImpact())
return oi;
if (oi instanceof OpenMBeanOperationInfo) {
OpenMBeanOperationInfo ooi = (OpenMBeanOperationInfo) oi;
OpenMBeanParameterInfo[] oparams =
paramsToOpenParams(signature);
return new OpenMBeanOperationInfoSupport(oi.getName(),
description,
oparams,
ooi.getReturnOpenType(),
impact,
oi.getDescriptor());
} else {
return new MBeanOperationInfo(oi.getName(),
description,
signature,
oi.getReturnType(),
impact,
oi.getDescriptor());
}
}
private static MBeanOperationInfo
customize(MBeanOperationInfo oi,
String description,
MBeanParameterInfo[] signature,
int impact) {
if (equal(description, oi.getDescription()) &&
identicalArrays(signature, oi.getSignature()) &&
impact == oi.getImpact())
return oi;
if (oi instanceof OpenMBeanOperationInfo) {
OpenMBeanOperationInfo ooi = (OpenMBeanOperationInfo) oi;
OpenMBeanParameterInfo[] oparams =
paramsToOpenParams(signature);
return new OpenMBeanOperationInfoSupport(oi.getName(),
description,
oparams,
ooi.getReturnOpenType(),
impact,
oi.getDescriptor());
} else {
return new MBeanOperationInfo(oi.getName(),
description,
signature,
oi.getReturnType(),
impact,
oi.getDescriptor());
}
}
private static MBeanOperationInfo
customize(MBeanOperationInfo oi,
String description,
MBeanParameterInfo[] signature,
int impact) {
if (equal(description, oi.getDescription()) &&
identicalArrays(signature, oi.getSignature()) &&
impact == oi.getImpact())
return oi;
if (oi instanceof OpenMBeanOperationInfo) {
OpenMBeanOperationInfo ooi = (OpenMBeanOperationInfo) oi;
OpenMBeanParameterInfo[] oparams =
paramsToOpenParams(signature);
return new OpenMBeanOperationInfoSupport(oi.getName(),
description,
oparams,
ooi.getReturnOpenType(),
impact,
oi.getDescriptor());
} else {
return new MBeanOperationInfo(oi.getName(),
description,
signature,
oi.getReturnType(),
impact,
oi.getDescriptor());
}
}
private static MBeanOperationInfo
customize(MBeanOperationInfo oi,
String description,
MBeanParameterInfo[] signature,
int impact) {
if (equal(description, oi.getDescription()) &&
identicalArrays(signature, oi.getSignature()) &&
impact == oi.getImpact())
return oi;
if (oi instanceof OpenMBeanOperationInfo) {
OpenMBeanOperationInfo ooi = (OpenMBeanOperationInfo) oi;
OpenMBeanParameterInfo[] oparams =
paramsToOpenParams(signature);
return new OpenMBeanOperationInfoSupport(oi.getName(),
description,
oparams,
ooi.getReturnOpenType(),
impact,
oi.getDescriptor());
} else {
return new MBeanOperationInfo(oi.getName(),
description,
signature,
oi.getReturnType(),
impact,
oi.getDescriptor());
}
}
private static MBeanOperationInfo
customize(MBeanOperationInfo oi,
String description,
MBeanParameterInfo[] signature,
int impact) {
if (equal(description, oi.getDescription()) &&
identicalArrays(signature, oi.getSignature()) &&
impact == oi.getImpact())
return oi;
if (oi instanceof OpenMBeanOperationInfo) {
OpenMBeanOperationInfo ooi = (OpenMBeanOperationInfo) oi;
OpenMBeanParameterInfo[] oparams =
paramsToOpenParams(signature);
return new OpenMBeanOperationInfoSupport(oi.getName(),
description,
oparams,
ooi.getReturnOpenType(),
impact,
oi.getDescriptor());
} else {
return new MBeanOperationInfo(oi.getName(),
description,
signature,
oi.getReturnType(),
impact,
oi.getDescriptor());
}
}
private static MBeanOperationInfo
customize(MBeanOperationInfo oi,
String description,
MBeanParameterInfo[] signature,
int impact) {
if (equal(description, oi.getDescription()) &&
identicalArrays(signature, oi.getSignature()) &&
impact == oi.getImpact())
return oi;
if (oi instanceof OpenMBeanOperationInfo) {
OpenMBeanOperationInfo ooi = (OpenMBeanOperationInfo) oi;
OpenMBeanParameterInfo[] oparams =
paramsToOpenParams(signature);
return new OpenMBeanOperationInfoSupport(oi.getName(),
description,
oparams,
ooi.getReturnOpenType(),
impact,
oi.getDescriptor());
} else {
return new MBeanOperationInfo(oi.getName(),
description,
signature,
oi.getReturnType(),
impact,
oi.getDescriptor());
}
}
private static MBeanOperationInfo
customize(MBeanOperationInfo oi,
String description,
MBeanParameterInfo[] signature,
int impact) {
if (equal(description, oi.getDescription()) &&
identicalArrays(signature, oi.getSignature()) &&
impact == oi.getImpact())
return oi;
if (oi instanceof OpenMBeanOperationInfo) {
OpenMBeanOperationInfo ooi = (OpenMBeanOperationInfo) oi;
OpenMBeanParameterInfo[] oparams =
paramsToOpenParams(signature);
return new OpenMBeanOperationInfoSupport(oi.getName(),
description,
oparams,
ooi.getReturnOpenType(),
impact,
oi.getDescriptor());
} else {
return new MBeanOperationInfo(oi.getName(),
description,
signature,
oi.getReturnType(),
impact,
oi.getDescriptor());
}
}
private static MBeanOperationInfo
customize(MBeanOperationInfo oi,
String description,
MBeanParameterInfo[] signature,
int impact) {
if (equal(description, oi.getDescription()) &&
identicalArrays(signature, oi.getSignature()) &&
impact == oi.getImpact())
return oi;
if (oi instanceof OpenMBeanOperationInfo) {
OpenMBeanOperationInfo ooi = (OpenMBeanOperationInfo) oi;
OpenMBeanParameterInfo[] oparams =
paramsToOpenParams(signature);
return new OpenMBeanOperationInfoSupport(oi.getName(),
description,
oparams,
ooi.getReturnOpenType(),
impact,
oi.getDescriptor());
} else {
return new MBeanOperationInfo(oi.getName(),
description,
signature,
oi.getReturnType(),
impact,
oi.getDescriptor());
}
}
/**
* Initialize the open mbean metadata
*/
private void initOpenMBeanInfo() {
OpenMBeanAttributeInfoSupport[] attributes = new OpenMBeanAttributeInfoSupport[4];
OpenMBeanConstructorInfoSupport[] constructors = new OpenMBeanConstructorInfoSupport[1];
OpenMBeanOperationInfoSupport[] operations = new OpenMBeanOperationInfoSupport[2];
MBeanNotificationInfo[] notifications = new MBeanNotificationInfo[0];
try {
// Define the attributes
attributes[0] = new OpenMBeanAttributeInfoSupport(ATTR_ID,
"Knowledge Base Id",
SimpleType.STRING,
true,
false,
false);
attributes[1] = new OpenMBeanAttributeInfoSupport(ATTR_SESSION_COUNT,
"Number of created sessions for this Knowledge Base",
SimpleType.LONG,
true,
false,
false);
attributes[2] = new OpenMBeanAttributeInfoSupport(ATTR_GLOBALS,
"List of globals",
globalsTableType,
true,
false,
false );
attributes[3] = new OpenMBeanAttributeInfoSupport( ATTR_PACKAGES,
"List of Packages",
new ArrayType( 1,
SimpleType.STRING ),
true,
false,
false );
//No arg constructor
constructors[0] = new OpenMBeanConstructorInfoSupport( "KnowledgeBaseMonitoringMXBean",
"Constructs a KnowledgeBaseMonitoringMXBean instance.",
new OpenMBeanParameterInfoSupport[0] );
//Operations
OpenMBeanParameterInfo[] params = new OpenMBeanParameterInfoSupport[0];
operations[0] = new OpenMBeanOperationInfoSupport( OP_START_INTERNAL_MBEANS,
"Creates, registers and starts all the dependent MBeans that allow monitor all the details in this KnowledgeBase.",
params,
SimpleType.VOID,
MBeanOperationInfo.INFO );
operations[1] = new OpenMBeanOperationInfoSupport( OP_STOP_INTERNAL_MBEANS,
"Stops and disposes all the dependent MBeans that allow monitor all the details in this KnowledgeBase.",
params,
SimpleType.VOID,
MBeanOperationInfo.INFO );
//Build the info
info = new OpenMBeanInfoSupport( this.getClass().getName(),
"Knowledge Base Monitor MXBean",
attributes,
constructors,
operations,
notifications );
} catch ( Exception e ) {
e.printStackTrace();
}
}