JBoss.org Community Documentation

- Prev
- Next

### 5.4.3. Via JBoss Microcontainer (JBoss AS 5.x)

Beginning with AS 5, JBoss AS also supports deployment of POJO services via deployment of a file whose name ends with `-beans.xml`. A POJO service is one whose implementation is via a "Plain Old Java Object", meaning a simple java bean that isn't required to implement any special interfaces or extend any particular superclass. A PojoCache is a POJO service, and all the components in a `Configuration` are also POJOS, so deploying a cache in this way is a natural step.

Deployment of the cache is done using the JBoss Microcontainer that forms the core of JBoss AS. JBoss Microcontainer is a sophisticated IOC framework (similar to Spring). A `-beans.xml` file is basically a descriptor that tells the IOC framework how to assemble the various beans that make up a POJO service.

The rules for how to deploy the file, how to package it, how to ensure the required jars are on the classpath, etc. are the same as for a JMX-based deployment.

Following is an abbreviated example `-beans.xml` file. The details of building up the Configuration are omitted; see the "Deploying JBoss Cache" chapter in the JBoss Cache User Guide for a more complete example. If you look in the `server/all/deploy` directory of an AS 5 installation, you can find several more examples.

    <?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">

          ... details omitted

       </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>

    </deployment>

An interesting thing to note in the above example is the difference between POJO Cache and a plain Cache in the use of a factory to create the cache. (See the "Deploying JBoss Cache" chapter in the JBoss Cache User Guide for the comparable plain Cache example.) The PojoCacheFactory exposes static methods for creating a PojoCache; as a result there is no need to add a separate `bean` element for the factory. Core Cache's `DefaultCacheFactory` creates caches from a singleton instance, requiring a bit more boilerplate in the config file.

- Prev5.4.2. JMX-Based Deployment in JBoss AS (JBoss AS...
- Top of page
- Front page
- Next5.5. POJO Cache MBeans