@Override protected String getOperationDescription(Class<?> managedClass, Method operation) { return operation.getAnnotation(JmxMethod.class).description(); }
@Override protected String getAttributeDescription(Class<?> managedClass, Field attribute) { return attribute.getAnnotation(JmxField.class).description(); }
@Override protected Access getAttributeAccess(Class<?> managedClass, Field attribute) { return attribute.getAnnotation(JmxField.class).access(); }
@Override protected String getParameterExportName(Class<?> managedClass, Method operation, Class<?> paramType, int index) { JmxParam[] params = operation.getAnnotation(JmxMethod.class).parameters(); if (params.length == 0) return super.getParameterExportName(managedClass, operation, paramType, index); if (params.length <= index) throw new IllegalStateException("Missing @JmxParam on operation " + operation); String name = params[index].name(); if (name.length() == 0) name = params[index].value(); return name.length() != 0 ? name : super.getParameterExportName(managedClass, operation, paramType, index); }
@Override protected String getParameterDescription(Class<?> managedClass, Method operation, Class<?> paramType, int index) { JmxParam[] params = operation.getAnnotation(JmxMethod.class).parameters(); if (params.length == 0) return super.getParameterExportName(managedClass, operation, paramType, index); if (params.length <= index) throw new IllegalStateException("Missing @JmxParam on operation " + operation); return params[index].description(); }
@Override protected String getAttributeExportName(Class<?> managedClass, Field attribute) { String name = attribute.getAnnotation(JmxField.class).name(); if (name.length() == 0) name = attribute.getAnnotation(JmxField.class).value(); return name.length() != 0 ? name : super.getAttributeExportName(managedClass, attribute); }
@Override protected String getOperationExportName(Class<?> managedClass, Method operation) { String name = operation.getAnnotation(JmxMethod.class).name(); if (name.length() == 0) name = operation.getAnnotation(JmxMethod.class).value(); return name.length() != 0 ? name : super.getOperationExportName(managedClass, operation); }
@Override protected String getPropertyExportName(Class<?> managedClass, BeanProperty property) { String name = property.getAnnotation(JmxProperty.class).name(); if (name.length() == 0) name = property.getAnnotation(JmxProperty.class).value(); return name.length() != 0 ? name : super.getPropertyExportName(managedClass, property); }
protected ObjectName getObjectNameInternal(Object managedBean) throws MalformedObjectNameException { Class<?> managedClass = AopUtils.getTargetClass(managedBean); // check JmxSelfNaming if (managedBean instanceof JmxSelfNaming) return ((JmxSelfNaming) managedBean).getObjectName(); // check annotation JmxBean jmxBean = managedClass.getAnnotation(JmxBean.class); if (jmxBean != null) { if (StringUtils.hasLength(jmxBean.objectName())) return ObjectName.getInstance(jmxBean.objectName()); if (StringUtils.hasLength(jmxBean.value())) return ObjectName.getInstance(jmxBean.value()); } // default return ObjectName.getInstance(ClassUtils.getPackageName(managedClass) + ":type=" + ClassUtils.getShortName(managedClass)); } }
@Override protected Access getPropertyAccess(Class<?> managedClass, BeanProperty property) { return property.getAnnotation(JmxProperty.class).access(); }
@Override protected String getPropertyDescription(Class<?> managedClass, BeanProperty property) { return property.getAnnotation(JmxProperty.class).description(); }
public static JmxMetadataAssembler get(Class<?> mbeanClass) { JmxBean jmxBean = mbeanClass.getAnnotation(JmxBean.class); return jmxBean == null ? load(PublicMetadataAssembler.class) : load(jmxBean.assembler()); }
@Override protected String getMBeanDescription(Class<?> managedClass) { return isAnnotated(managedClass) ? managedClass.getAnnotation(JmxBean.class).description() : super.getMBeanDescription(managedClass); }