HomeApache Geronimo Knowledge Base > Indice > PF > Desarrollo de GBean > ¿Es posible obtener una referencia al MBeanServer desde un GBean?

Si. Simplemente agrega una referencia de tipo MBeanServerReference a tu GBeanInfo, e invoca a getMBeanServer() en la referencia para obtener al MBeanServer. Por ejemplo:

public class Example {
    public MEJB(AbstractName abstractName, MBeanServerReference mbeanServerReference) {
        MBeanServer mbeanServer = mbeanServerReference.getMBeanServer());
    }

    public static final GBeanInfo GBEAN_INFO;
    static {
        GBeanInfoBuilder infoBuilder = GBeanInfoBuilder.createStatic(Example.class);
        infoBuilder.addReference("MBeanServerReference", MBeanServerReference.class);

        infoBuilder.setConstructor(new String[]{"MBeanServerReference"});

        GBEAN_INFO = infoBuilder.getBeanInfo();
    }

    public static GBeanInfo getGBeanInfo() {
        return GBEAN_INFO;
    }
}

A continuación se muestra la configuración xml para ejemplo previo:

<module xmlns="http://geronimo.apache.org/xml/ns/deployment-1.1">
  <environment>

    <moduleId>
      <groupId>myco</groupId>
      <artifactId>myco</artifactId>
      <version>1.0</version>
      <type>car</type>
    </moduleId>

    <dependencies>
      <dependency>
        <groupId>geronimo</groupId>
        <artifactId>rmi-naming</artifactId>
        <type>car</type>
      </dependency>
    </dependencies>

  </environment>

  <gbean name="Example" class="com.myco.Example">
      <reference name="MBeanServerReference">
          <name>MBeanServerReference</name>
      </reference>
  </gbean>
</module>