This intersects with the Annotation vs MetaData discussion in the other thread. The two beans you are describing here are just expressing the metadata via different mechanisms. There has to be an overall deterministic way of building up the entire heirarchy of metadata from the annotations to xml to runtime overrides.
There is actually a third. With the new microcontainer there needs to be
a configuration where the beans registered with a name can optionally (the default
will be true when this processing is enabled) to expose these on the MBeanServer
using the DynamicMBean introduction.
That is when the MicroContainer is configured to be exposed via JMX
Similarly, the MBeans need to be exposed on the MicroContainer's Bus/registry.
This allows both configuration spaces to deal with objects regardless of which method
is used to register them.