JBoss.org Community Documentation
PojoCacheJmxWrapper
is a POJO, so the microcontainer
has no problem creating one. The trick is
getting it to register your bean in JMX. This can be done by
specifying the org.jboss.aop.microcontainer.aspects.jmx.JMX
annotation on the PojoCacheJmxWrapper
bean:
<?xml version="1.0" encoding="UTF-8"?> <deployment xmlns="urn:jboss:bean-deployer:2.0"> <!-- First we create a Configuration object for the cache --> <bean name="ExampleCacheConfig" class="org.jboss.cache.config.Configuration"> ... build up the Configuration </bean> <!-- The cache itself. --> <bean name="ExampleCache" class="org.jboss.cache.pojo.impl.PojoCacheImpl"> <constructor factoryClass="org.jboss.cache.pojo.PojoCacheFactory factoryMethod="createCache"> <parameter><inject bean="ExampleCacheConfig"/></parameter> <parameter>false</false> </constructor> </bean> <!-- JMX Management --> <bean name="ExampleCacheJmxWrapper" class="org.jboss.cache.jmx.CacheJmxWrapper"> <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX( name="jboss.cache:service=ExamplePojoCache", exposedInterface=org.jboss.cache.pojo.jmx.PojoCacheJmxWrapperMBean.class, registerDirectly=true) </annotation> <constructor> <parameter><inject bean="ExampleCache"/></parameter> </constructor> </bean> </deployment>
As discussed in the Programatic Registration
section, PojoCacheJmxWrapper
can do the work of building,
creating and starting the PojoCache if it is provided with a Configuration
:
<?xml version="1.0" encoding="UTF-8"?> <deployment xmlns="urn:jboss:bean-deployer:2.0"> <!-- First we create a Configuration object for the cache --> <bean name="ExampleCacheConfig" class="org.jboss.cache.config.Configuration"> ... build up the Configuration </bean> <bean name="ExampleCache" class="org.jboss.cache.pojo.jmx.PojoCacheJmxWrapper"> <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX( name="jboss.cache:service=ExamplePojoCache", exposedInterface=org.jboss.cache.pojo.jmx.PojoCacheJmxWrapperMBean.class, registerDirectly=true) </annotation> <constructor> <parameter><inject bean="ExampleCacheConfig"/></parameter> </constructor> </bean> </deployment>