}
}
@Override
public void initialize(List<ManagedType> managedTypes) {
MBeanManager manager = Beans.getReference(MBeanManager.class);
JMXConfig configuration = Beans.getReference(JMXConfig.class);
for (ManagedType type : managedTypes) {
DynamicMBeanProxy beanProxy = new DynamicMBeanProxy(type);
Name nameAnnotation = type.getType().getAnnotation(Name.class);
String mbeanName = nameAnnotation != null ? nameAnnotation.value() : type.getType().getSimpleName();
StringBuffer name = new StringBuffer()
.append( configuration.getMbeanDomain()!=null ? configuration.getMbeanDomain() : type.getType().getPackage().getName() )
.append(":name=")
.append( mbeanName );
if (manager.findMBeanInstance(name.toString()) == null){
ObjectInstance instance = MBeanHelper.register(beanProxy, name.toString());
manager.storeRegisteredMBean(instance);
}
}
registerNotificationMBean();
}