An implementation of the ObjectNamingStrategy interface
that reads the ObjectName from the source-level metadata.
Falls back to the bean key (bean name) if no ObjectName
can be found in source-level metadata.

Uses the JmxAttributeSource strategy interface, so that
metadata can be read using any supported implementation. Out of the box,
AnnotationJmxAttributeSource
introspects a well-defined set of Java 5 annotations that come with Spring.