Ejemplo n.º 1
0
 /**
  * Register the component as MBean. The implementation uses the known DynamicMBeanProvider
  * instances to get the MBean from the component.
  *
  * @see com.picocontainer.PicoVisitor#visitComponentAdapter(com.picocontainer.ComponentAdapter)
  */
 @Override
 public void visitComponentAdapter(final ComponentAdapter componentAdapter) {
   super.visitComponentAdapter(componentAdapter);
   if (picoContainer == null) {
     throw new JMXRegistrationException(
         "Cannot start JMXVisitor traversal with a ComponentAdapter");
   }
   if (!visited.contains(componentAdapter.getComponentKey())) {
     visited.add(componentAdapter.getComponentKey());
     for (final DynamicMBeanProvider provider : mBeanProviders) {
       final JMXRegistrationInfo info = provider.provide(picoContainer, componentAdapter);
       if (info != null) {
         registeredInfo.add(register(info.getMBean(), info.getObjectName()));
         break;
       }
     }
   }
 }