{scrollbar}
Si. Simplemente agrega una referencia de tipo MBeanServerReference a tu GBeanInfo, e invoca a getMBeanServer()
en la referencia para obtener al MBeanServer. Por ejemplo:
javasolid
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:
xmlsolid
<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>