extensions/jmx/src/com/google/inject/tools/jmx/Manager.java
public static void manage(MBeanServer server, String domain, Injector injector) {
    // Register each binding independently.
    for (Binding<?> binding : injector.getBindings().values()) {
      // Construct the name manually so we can ensure proper ordering of the
      // key/value pairs.
      StringBuilder name = new StringBuilder();
      name.append(domain).append(":");
      Key<?> key = binding.getKey();
      name.append("type=").append(quote(key.getTypeLiteral().toString()));
      Annotation annotation = key.getAnnotation();
      if (annotation != null) {
        name.append(",annotation=").append(quote(annotation.toString()));
      } else {
        Class<? extends Annotation> annotationType = key.getAnnotationType();
        if (annotationType != null) {
          name.append(",annotation=").append(quote("@" + annotationType.getName()));
        }
      }

      try {
        server.registerMBean(new ManagedBinding(binding), new ObjectName(name.toString()));
      } catch (MalformedObjectNameException e) {
        throw new RuntimeException("Bad object name: " + name, e);
      } catch (Exception e) {
        throw new RuntimeException(e);
      }
    }
  }
public static void manage(MBeanServer server, String domain, Injector injector) {
    // Register each binding independently.
    for (Binding<?> binding : injector.getBindings().values()) {
      // Construct the name manually so we can ensure proper ordering of the
      // key/value pairs.
      StringBuilder name = new StringBuilder();
      name.append(domain).append(":");
      Key<?> key = binding.getKey();
      name.append("type=").append(quote(key.getTypeLiteral().toString()));
      Annotation annotation = key.getAnnotation();
      if (annotation != null) {
        name.append(",annotation=").append(quote(annotation.toString()));
      } else {
        Class<? extends Annotation> annotationType = key.getAnnotationType();
        if (annotationType != null) {
          name.append(",annotation=").append(quote("@" + annotationType.getName()));
        }
      }

      try {
        server.registerMBean(new ManagedBinding(binding), new ObjectName(name.toString()));
      } catch (MalformedObjectNameException e) {
        throw new RuntimeException("Bad object name: " + name, e);
      } catch (Exception e) {
        throw new RuntimeException(e);
      }
    }
  }
public static void manage ( MBeanServer server , String domain , Injector injector ) { // Register each binding independently. for ( Binding < ? > binding : injector . getBindings ( ) . values ( ) ) { // Construct the name manually so we can ensure proper ordering of the // key/value pairs. StringBuilder name = new StringBuilder ( ) ; name . append ( domain ) . append ( ":" ) ; Key < ? > key = binding . getKey ( ) ; name . append ( "type=" ) . append ( quote ( key . getTypeLiteral ( ) . toString ( ) ) ) ; Annotation annotation = key . getAnnotation ( ) ; if ( annotation != null ) { name . append ( ",annotation=" ) . append ( quote ( annotation . toString ( ) ) ) ; } else { Class < ? extends Annotation > annotationType = key . getAnnotationType ( ) ; if ( annotationType != null ) { name . append ( ",annotation=" ) . append ( quote ( "@" + annotationType . getName ( ) ) ) ; } } try { server . registerMBean ( new ManagedBinding ( binding ) , new ObjectName ( name . toString ( ) ) ) ; } catch ( MalformedObjectNameException e ) { throw new RuntimeException ( "Bad object name: " + name , e ) ; } catch ( Exception e ) { throw new RuntimeException ( e ) ; } } }
Registers all the bindings of an Injector with the given MBean server. Consider using the name
of your root {@link Module} class as the domain.
Registers all the bindings of an Injector with the given MBean server . Consider using the name of your root {