Java 类javax.management.modelmbean.ModelMBeanInfo 实例源码
项目:monarch
文件:MX4JModelMBean.java
public void setModelMBeanInfo(ModelMBeanInfo modelMBeanInfo)
throws MBeanException, RuntimeOperationsException {
if (modelMBeanInfo == null)
throw new RuntimeOperationsException(new IllegalArgumentException(
LocalizedStrings.MX4JModelMBean_MODELMBEANINFO_CANNOT_BE_NULL.toLocalizedString()));
if (!isModelMBeanInfoValid(modelMBeanInfo))
throw new RuntimeOperationsException(new IllegalArgumentException(
LocalizedStrings.MX4JModelMBean_MODELMBEANINFO_IS_INVALID.toLocalizedString()));
m_modelMBeanInfo = (ModelMBeanInfo) modelMBeanInfo.clone();
Logger logger = getLogger();
if (logger.isEnabledFor(Logger.DEBUG))
logger.debug("ModelMBeanInfo successfully set to: " + m_modelMBeanInfo);
// Only now the MBean can be registered in the MBeanServer
m_canBeRegistered = true;
}
项目:monarch
文件:MX4JModelMBean.java
private Logger getModelMBeanLogger(String notificationType) throws MBeanException {
// Get a copy to avoid synchronization
ModelMBeanInfo info = getModelMBeanInfo();
// First look if there is a suitable notification descriptor, otherwise use MBean descriptor
Descriptor descriptor = null;
Logger modelMBeanLogger = null;
if (notificationType != null) {
descriptor = info.getDescriptor(notificationType, "notification");
modelMBeanLogger = findLogger(descriptor);
}
if (modelMBeanLogger == null) {
descriptor = info.getMBeanDescriptor();
modelMBeanLogger = findLogger(descriptor);
if (modelMBeanLogger != null)
return modelMBeanLogger;
}
return null;
}
项目:spring4-understanding
文件:AbstractJmxAssemblerTests.java
@Test
public void testAttributeHasCorrespondingOperations() throws Exception {
ModelMBeanInfo info = getMBeanInfoFromAssembler();
ModelMBeanOperationInfo get = info.getOperation("getName");
assertNotNull("get operation should not be null", get);
assertEquals("get operation should have visibility of four",
get.getDescriptor().getFieldValue("visibility"),
new Integer(4));
assertEquals("get operation should have role \"getter\"", "getter", get.getDescriptor().getFieldValue("role"));
ModelMBeanOperationInfo set = info.getOperation("setName");
assertNotNull("set operation should not be null", set);
assertEquals("set operation should have visibility of four",
set.getDescriptor().getFieldValue("visibility"),
new Integer(4));
assertEquals("set operation should have role \"setter\"", "setter", set.getDescriptor().getFieldValue("role"));
}
项目:gemfirexd-oss
文件:MX4JModelMBean.java
private Logger getModelMBeanLogger(String notificationType) throws MBeanException
{
// Get a copy to avoid synchronization
ModelMBeanInfo info = getModelMBeanInfo();
// First look if there is a suitable notification descriptor, otherwise use MBean descriptor
Descriptor descriptor = null;
Logger modelMBeanLogger = null;
if (notificationType != null)
{
descriptor = info.getDescriptor(notificationType, "notification");
modelMBeanLogger = findLogger(descriptor);
}
if (modelMBeanLogger == null)
{
descriptor = info.getMBeanDescriptor();
modelMBeanLogger = findLogger(descriptor);
if (modelMBeanLogger != null) return modelMBeanLogger;
}
return null;
}
项目:gemfirexd-oss
文件:MX4JModelMBean.java
private Logger getModelMBeanLogger(String notificationType) throws MBeanException
{
// Get a copy to avoid synchronization
ModelMBeanInfo info = getModelMBeanInfo();
// First look if there is a suitable notification descriptor, otherwise use MBean descriptor
Descriptor descriptor = null;
Logger modelMBeanLogger = null;
if (notificationType != null)
{
descriptor = info.getDescriptor(notificationType, "notification");
modelMBeanLogger = findLogger(descriptor);
}
if (modelMBeanLogger == null)
{
descriptor = info.getMBeanDescriptor();
modelMBeanLogger = findLogger(descriptor);
if (modelMBeanLogger != null) return modelMBeanLogger;
}
return null;
}
项目:class-guard
文件:AbstractJmxAssemblerTests.java
@Test
public void testAttributeHasCorrespondingOperations() throws Exception {
ModelMBeanInfo info = getMBeanInfoFromAssembler();
ModelMBeanOperationInfo get = info.getOperation("getName");
assertNotNull("get operation should not be null", get);
assertEquals("get operation should have visibility of four",
get.getDescriptor().getFieldValue("visibility"),
new Integer(4));
assertEquals("get operation should have role \"getter\"", "getter", get.getDescriptor().getFieldValue("role"));
ModelMBeanOperationInfo set = info.getOperation("setName");
assertNotNull("set operation should not be null", set);
assertEquals("set operation should have visibility of four",
set.getDescriptor().getFieldValue("visibility"),
new Integer(4));
assertEquals("set operation should have role \"setter\"", "setter", set.getDescriptor().getFieldValue("role"));
}
项目:lams
文件:MBeanExporter.java
/**
* Gets the {@code ModelMBeanInfo} for the bean with the supplied key
* and of the supplied type.
*/
private ModelMBeanInfo getMBeanInfo(Object managedBean, String beanKey) throws JMException {
ModelMBeanInfo info = this.assembler.getMBeanInfo(managedBean, beanKey);
if (logger.isWarnEnabled() && ObjectUtils.isEmpty(info.getAttributes()) &&
ObjectUtils.isEmpty(info.getOperations())) {
logger.warn("Bean with key '" + beanKey +
"' has been registered as an MBean but has no exposed attributes or operations");
}
return info;
}
项目:monarch
文件:MX4JModelMBean.java
public MX4JModelMBean(ModelMBeanInfo info) throws MBeanException, RuntimeOperationsException {
if (info == null)
throw new RuntimeOperationsException(new IllegalArgumentException(
LocalizedStrings.MX4JModelMBean_MODELMBEANINFO_PARAMETER_CANT_BE_NULL
.toLocalizedString()));
else
setModelMBeanInfo(info);
}
项目:monarch
文件:MX4JModelMBean.java
public void load() throws MBeanException, RuntimeOperationsException, InstanceNotFoundException {
PersisterMBean persister = findPersister();
if (persister != null) {
ModelMBeanInfo info = (ModelMBeanInfo) persister.load();
setModelMBeanInfo(info);
}
}
项目:monarch
文件:MX4JModelMBean.java
public void store() throws MBeanException, RuntimeOperationsException, InstanceNotFoundException {
PersisterMBean persister = findPersister();
if (persister != null) {
// Take a clone to avoid synchronization problems
ModelMBeanInfo info = (ModelMBeanInfo) getMBeanInfo();
persister.store(info);
}
}
项目:spring4-understanding
文件:MBeanExporter.java
/**
* Gets the {@code ModelMBeanInfo} for the bean with the supplied key
* and of the supplied type.
*/
private ModelMBeanInfo getMBeanInfo(Object managedBean, String beanKey) throws JMException {
ModelMBeanInfo info = this.assembler.getMBeanInfo(managedBean, beanKey);
if (logger.isWarnEnabled() && ObjectUtils.isEmpty(info.getAttributes()) &&
ObjectUtils.isEmpty(info.getOperations())) {
logger.warn("Bean with key '" + beanKey +
"' has been registered as an MBean but has no exposed attributes or operations");
}
return info;
}
项目:spring4-understanding
文件:AnnotationMetadataAssemblerTests.java
@Test
public void testAttributeFromInterface() throws Exception {
ModelMBeanInfo inf = getMBeanInfoFromAssembler();
ModelMBeanAttributeInfo attr = inf.getAttribute("Colour");
assertTrue("The name attribute should be writable", attr.isWritable());
assertTrue("The name attribute should be readable", attr.isReadable());
}
项目:spring4-understanding
文件:AbstractMetadataAssemblerTests.java
@Test
public void testAttributeDescriptionOnSetter() throws Exception {
ModelMBeanInfo inf = getMBeanInfoFromAssembler();
ModelMBeanAttributeInfo attr = inf.getAttribute(AGE_ATTRIBUTE);
assertEquals("The description for the age attribute is incorrect",
"The Age Attribute", attr.getDescription());
}
项目:spring4-understanding
文件:AbstractMetadataAssemblerTests.java
@Test
public void testAttributeDescriptionOnGetter() throws Exception {
ModelMBeanInfo inf = getMBeanInfoFromAssembler();
ModelMBeanAttributeInfo attr = inf.getAttribute(NAME_ATTRIBUTE);
assertEquals("The description for the name attribute is incorrect",
"The Name Attribute", attr.getDescription());
}
项目:spring4-understanding
文件:AbstractMetadataAssemblerTests.java
/**
* Tests the situation where the attribute is only defined on the getter.
*/
@Test
public void testReadOnlyAttribute() throws Exception {
ModelMBeanInfo inf = getMBeanInfoFromAssembler();
ModelMBeanAttributeInfo attr = inf.getAttribute(AGE_ATTRIBUTE);
assertFalse("The age attribute should not be writable", attr.isWritable());
}
项目:spring4-understanding
文件:AbstractMetadataAssemblerTests.java
@Test
public void testReadWriteAttribute() throws Exception {
ModelMBeanInfo inf = getMBeanInfoFromAssembler();
ModelMBeanAttributeInfo attr = inf.getAttribute(NAME_ATTRIBUTE);
assertTrue("The name attribute should be writable", attr.isWritable());
assertTrue("The name attribute should be readable", attr.isReadable());
}
项目:spring4-understanding
文件:AbstractMetadataAssemblerTests.java
/**
* Tests the situation where the property only has a getter.
*/
@Test
public void testWithOnlySetter() throws Exception {
ModelMBeanInfo inf = getMBeanInfoFromAssembler();
ModelMBeanAttributeInfo attr = inf.getAttribute("NickName");
assertNotNull("Attribute should not be null", attr);
}
项目:spring4-understanding
文件:AbstractMetadataAssemblerTests.java
/**
* Tests the situation where the property only has a setter.
*/
@Test
public void testWithOnlyGetter() throws Exception {
ModelMBeanInfo info = getMBeanInfoFromAssembler();
ModelMBeanAttributeInfo attr = info.getAttribute("Superman");
assertNotNull("Attribute should not be null", attr);
}
项目:spring4-understanding
文件:AbstractMetadataAssemblerTests.java
@Test
public void testManagedResourceDescriptor() throws Exception {
ModelMBeanInfo info = getMBeanInfoFromAssembler();
Descriptor desc = info.getMBeanDescriptor();
assertEquals("Logging should be set to true", "true", desc.getFieldValue("log"));
assertEquals("Log file should be jmx.log", "jmx.log", desc.getFieldValue("logFile"));
assertEquals("Currency Time Limit should be 15", "15", desc.getFieldValue("currencyTimeLimit"));
assertEquals("Persist Policy should be OnUpdate", "OnUpdate", desc.getFieldValue("persistPolicy"));
assertEquals("Persist Period should be 200", "200", desc.getFieldValue("persistPeriod"));
assertEquals("Persist Location should be foo", "./foo", desc.getFieldValue("persistLocation"));
assertEquals("Persist Name should be bar", "bar.jmx", desc.getFieldValue("persistName"));
}
项目:spring4-understanding
文件:AbstractMetadataAssemblerTests.java
@Test
public void testAttributeDescriptor() throws Exception {
ModelMBeanInfo info = getMBeanInfoFromAssembler();
Descriptor desc = info.getAttribute(NAME_ATTRIBUTE).getDescriptor();
assertEquals("Default value should be foo", "foo", desc.getFieldValue("default"));
assertEquals("Currency Time Limit should be 20", "20", desc.getFieldValue("currencyTimeLimit"));
assertEquals("Persist Policy should be OnUpdate", "OnUpdate", desc.getFieldValue("persistPolicy"));
assertEquals("Persist Period should be 300", "300", desc.getFieldValue("persistPeriod"));
}
项目:spring4-understanding
文件:AbstractMetadataAssemblerTests.java
@Test
public void testOperationDescriptor() throws Exception {
ModelMBeanInfo info = getMBeanInfoFromAssembler();
Descriptor desc = info.getOperation("myOperation").getDescriptor();
assertEquals("Currency Time Limit should be 30", "30", desc.getFieldValue("currencyTimeLimit"));
assertEquals("Role should be \"operation\"", "operation", desc.getFieldValue("role"));
}
项目:spring4-understanding
文件:AbstractMetadataAssemblerTests.java
@Test
public void testOperationParameterMetadata() throws Exception {
ModelMBeanInfo info = getMBeanInfoFromAssembler();
ModelMBeanOperationInfo oper = info.getOperation("add");
MBeanParameterInfo[] params = oper.getSignature();
assertEquals("Invalid number of params", 2, params.length);
assertEquals("Incorrect name for x param", "x", params[0].getName());
assertEquals("Incorrect type for x param", int.class.getName(), params[0].getType());
assertEquals("Incorrect name for y param", "y", params[1].getName());
assertEquals("Incorrect type for y param", int.class.getName(), params[1].getType());
}
项目:spring4-understanding
文件:AbstractMetadataAssemblerTests.java
@Test
public void testMetricDescription() throws Exception {
ModelMBeanInfo inf = getMBeanInfoFromAssembler();
ModelMBeanAttributeInfo metric = inf.getAttribute(QUEUE_SIZE_METRIC);
ModelMBeanOperationInfo operation = inf.getOperation("getQueueSize");
assertEquals("The description for the queue size metric is incorrect",
"The QueueSize metric", metric.getDescription());
assertEquals("The description for the getter operation of the queue size metric is incorrect",
"The QueueSize metric", operation.getDescription());
}
项目:spring4-understanding
文件:AbstractMetadataAssemblerTests.java
@Test
public void testMetricDescriptor() throws Exception {
ModelMBeanInfo info = getMBeanInfoFromAssembler();
Descriptor desc = info.getAttribute(QUEUE_SIZE_METRIC).getDescriptor();
assertEquals("Currency Time Limit should be 20", "20", desc.getFieldValue("currencyTimeLimit"));
assertEquals("Persist Policy should be OnUpdate", "OnUpdate", desc.getFieldValue("persistPolicy"));
assertEquals("Persist Period should be 300", "300", desc.getFieldValue("persistPeriod"));
assertEquals("Unit should be messages", "messages",desc.getFieldValue("units"));
assertEquals("Display Name should be Queue Size", "Queue Size",desc.getFieldValue("displayName"));
assertEquals("Metric Type should be COUNTER", "COUNTER",desc.getFieldValue("metricType"));
assertEquals("Metric Category should be utilization", "utilization",desc.getFieldValue("metricCategory"));
}
项目:spring4-understanding
文件:AbstractMetadataAssemblerTests.java
@Test
public void testMetricDescriptorDefaults() throws Exception {
ModelMBeanInfo info = getMBeanInfoFromAssembler();
Descriptor desc = info.getAttribute(CACHE_ENTRIES_METRIC).getDescriptor();
assertNull("Currency Time Limit should not be populated", desc.getFieldValue("currencyTimeLimit"));
assertNull("Persist Policy should not be populated", desc.getFieldValue("persistPolicy"));
assertNull("Persist Period should not be populated", desc.getFieldValue("persistPeriod"));
assertNull("Unit should not be populated", desc.getFieldValue("units"));
assertEquals("Display Name should be populated by default via JMX", CACHE_ENTRIES_METRIC,desc.getFieldValue("displayName"));
assertEquals("Metric Type should be GAUGE", "GAUGE",desc.getFieldValue("metricType"));
assertNull("Metric Category should not be populated", desc.getFieldValue("metricCategory"));
}
项目:spring4-understanding
文件:InterfaceBasedMBeanInfoAssemblerCustomTests.java
@Test
public void testGetAgeIsReadOnly() throws Exception {
ModelMBeanInfo info = getMBeanInfoFromAssembler();
ModelMBeanAttributeInfo attr = info.getAttribute(AGE_ATTRIBUTE);
assertTrue(attr.isReadable());
assertFalse(attr.isWritable());
}
项目:spring4-understanding
文件:AbstractJmxAssemblerTests.java
@Test
public void testGetMBeanAttributeInfo() throws Exception {
ModelMBeanInfo info = getMBeanInfoFromAssembler();
MBeanAttributeInfo[] inf = info.getAttributes();
assertEquals("Invalid number of Attributes returned",
getExpectedAttributeCount(), inf.length);
for (int x = 0; x < inf.length; x++) {
assertNotNull("MBeanAttributeInfo should not be null", inf[x]);
assertNotNull(
"Description for MBeanAttributeInfo should not be null",
inf[x].getDescription());
}
}
项目:spring4-understanding
文件:AbstractJmxAssemblerTests.java
@Test
public void testGetMBeanOperationInfo() throws Exception {
ModelMBeanInfo info = getMBeanInfoFromAssembler();
MBeanOperationInfo[] inf = info.getOperations();
assertEquals("Invalid number of Operations returned",
getExpectedOperationCount(), inf.length);
for (int x = 0; x < inf.length; x++) {
assertNotNull("MBeanOperationInfo should not be null", inf[x]);
assertNotNull(
"Description for MBeanOperationInfo should not be null",
inf[x].getDescription());
}
}
项目:spring4-understanding
文件:AbstractJmxAssemblerTests.java
@Test
public void testDescriptionNotNull() throws Exception {
ModelMBeanInfo info = getMBeanInfoFromAssembler();
assertNotNull("The MBean description should not be null",
info.getDescription());
}
项目:spring4-understanding
文件:AbstractJmxAssemblerTests.java
@Test
public void testAttributeInfoHasDescriptors() throws Exception {
ModelMBeanInfo info = getMBeanInfoFromAssembler();
ModelMBeanAttributeInfo attr = info.getAttribute(NAME_ATTRIBUTE);
Descriptor desc = attr.getDescriptor();
assertNotNull("getMethod field should not be null",
desc.getFieldValue("getMethod"));
assertNotNull("setMethod field should not be null",
desc.getFieldValue("setMethod"));
assertEquals("getMethod field has incorrect value", "getName",
desc.getFieldValue("getMethod"));
assertEquals("setMethod field has incorrect value", "setName",
desc.getFieldValue("setMethod"));
}
项目:spring4-understanding
文件:AbstractJmxAssemblerTests.java
@Test
public void testNotificationMetadata() throws Exception {
ModelMBeanInfo info = (ModelMBeanInfo) getMBeanInfo();
MBeanNotificationInfo[] notifications = info.getNotifications();
assertEquals("Incorrect number of notifications", 1, notifications.length);
assertEquals("Incorrect notification name", "My Notification", notifications[0].getName());
String[] notifTypes = notifications[0].getNotifTypes();
assertEquals("Incorrect number of notification types", 2, notifTypes.length);
assertEquals("Notification type.foo not found", "type.foo", notifTypes[0]);
assertEquals("Notification type.bar not found", "type.bar", notifTypes[1]);
}
项目:spring4-understanding
文件:MethodNameBasedMBeanInfoAssemblerMappedTests.java
@Test
public void testGetAgeIsReadOnly() throws Exception {
ModelMBeanInfo info = getMBeanInfoFromAssembler();
ModelMBeanAttributeInfo attr = info.getAttribute(AGE_ATTRIBUTE);
assertTrue("Age is not readable", attr.isReadable());
assertFalse("Age is not writable", attr.isWritable());
}
项目:spring4-understanding
文件:MethodNameBasedMBeanInfoAssemblerMappedTests.java
@Test
public void testWithFallThrough() throws Exception {
MethodNameBasedMBeanInfoAssembler assembler =
getWithMapping("foobar", "add,myOperation,getName,setName,getAge");
assembler.setManagedMethods(new String[]{"getNickName", "setNickName"});
ModelMBeanInfo inf = assembler.getMBeanInfo(getBean(), getObjectName());
MBeanAttributeInfo attr = inf.getAttribute("NickName");
assertNickName(attr);
}
项目:spring4-understanding
文件:MethodNameBasedMBeanInfoAssemblerMappedTests.java
@Test
public void testNickNameIsExposed() throws Exception {
ModelMBeanInfo inf = (ModelMBeanInfo) getMBeanInfo();
MBeanAttributeInfo attr = inf.getAttribute("NickName");
assertNickName(attr);
}
项目:spring4-understanding
文件:MethodExclusionMBeanInfoAssemblerComboTests.java
@Test
public void testGetAgeIsReadOnly() throws Exception {
ModelMBeanInfo info = getMBeanInfoFromAssembler();
ModelMBeanAttributeInfo attr = info.getAttribute(AGE_ATTRIBUTE);
assertTrue("Age is not readable", attr.isReadable());
assertFalse("Age is not writable", attr.isWritable());
}
项目:spring4-understanding
文件:MethodExclusionMBeanInfoAssemblerComboTests.java
@Test
public void testNickNameIsExposed() throws Exception {
ModelMBeanInfo inf = (ModelMBeanInfo) getMBeanInfo();
MBeanAttributeInfo attr = inf.getAttribute("NickName");
assertNotNull("Nick Name should not be null", attr);
assertTrue("Nick Name should be writable", attr.isWritable());
assertTrue("Nick Name should be readable", attr.isReadable());
}
项目:spring4-understanding
文件:InterfaceBasedMBeanInfoAssemblerMappedTests.java
@Test
public void testGetAgeIsReadOnly() throws Exception {
ModelMBeanInfo info = getMBeanInfoFromAssembler();
ModelMBeanAttributeInfo attr = info.getAttribute(AGE_ATTRIBUTE);
assertTrue("Age is not readable", attr.isReadable());
assertFalse("Age is not writable", attr.isWritable());
}
项目:spring4-understanding
文件:InterfaceBasedMBeanInfoAssemblerMappedTests.java
@Test
public void testWithFallThrough() throws Exception {
InterfaceBasedMBeanInfoAssembler assembler =
getWithMapping("foobar", "org.springframework.jmx.export.assembler.ICustomJmxBean");
assembler.setManagedInterfaces(new Class<?>[] {IAdditionalTestMethods.class});
ModelMBeanInfo inf = assembler.getMBeanInfo(getBean(), getObjectName());
MBeanAttributeInfo attr = inf.getAttribute("NickName");
assertNickName(attr);
}
项目:spring4-understanding
文件:InterfaceBasedMBeanInfoAssemblerMappedTests.java
@Test
public void testNickNameIsExposed() throws Exception {
ModelMBeanInfo inf = (ModelMBeanInfo) getMBeanInfo();
MBeanAttributeInfo attr = inf.getAttribute("NickName");
assertNickName(attr);
}
项目:spring4-understanding
文件:MethodExclusionMBeanInfoAssemblerNotMappedTests.java
@Test
public void testGetAgeIsReadOnly() throws Exception {
ModelMBeanInfo info = getMBeanInfoFromAssembler();
ModelMBeanAttributeInfo attr = info.getAttribute(AGE_ATTRIBUTE);
assertTrue("Age is not readable", attr.isReadable());
assertTrue("Age is not writable", attr.isWritable());
}