The reference documentation for Spring JMX annotations is in need of a revision for various reasons including, but not limited to, the following.

  • Type names such as ManagedResource are often ambiguous, especially when discussing an annotation like @ManagedResource instead of org.springframework.jmx.export.metadata.ManagedResource which is a class.
  • AnnotationTestBean implements IJmxTestBean, even though an annotated MBean is not required to implement any interfaces, and in fact the example is meant to demonstrate that an annotated POJO suffices.
  • @ManagedOperationParameter annotations are unnecessarily declared in the @ManagedOperationParameters container.
  • The documentation sometimes refers to JmxTestBean when it should instead refer to AnnotationTestBean.
  • Inconsistent and confusing wording for annotation attributes, properties, managed attributes, etc.
  • The tables refer to "source-level metadata types/parameters" when they should refer to Spring JMX annotations and their attributes.
  • The annotation and attribute tables have inconsistent ordering and naming for column headers.
  • @ManagedNotification and @ManagedMetric are not mentioned.
  • The AutodetectCapableMBeanInfoAssembler example is broken since it uses the non-annotated JmxTestBean instead of the AnnotationTestBean.

As a side note, the JmxTestBean in our test suite still contains XDoclet "annotations" which can be safely removed. 😉