/*
* jBoss, the OpenSource EJB server
*
* Distributable under GPL license.
* See terms of license at gnu.org.
*/
package org.jboss.ejb;

import org.jboss.ejb.plugins.*;
import org.jboss.metadata.*;

/**
 * StatelessSessionDeployer provides implementations of BeanDeployer
methods
 * that are specific to Stateless Session Beans.
 *
 * @see BeanDeployer
 * @author <a href="mailto:[EMAIL PROTECTED]">Jack Bolles</a>
 */
public class StatelessSessionDeployer extends BeanDeployer {

      protected StatelessSessionDeployer(BeanMetaData bmd, ClassLoader
loader, boolean enableMetrics){
         super(bmd, loader, enableMetrics);
         container = new StatelessSessionContainer();
      }

      protected void setInstancePool() throws DeploymentException {
         // Set instance pool
         InstancePool ip = null;
         try {
            ip = (InstancePool)cl.loadClass(conf.getInstancePool
()).newInstance();
            if(ip instanceof XmlLoadable) {
               ((XmlLoadable)ip).importXml(conf.getContainerPoolConf());
            }
         } catch(Exception e) {
            throw new DeploymentException("Missing or invalid Instance Pool
(in jboss.xml or standardjboss.xml)", e);
         }
         container.setInstancePool(ip);
      }

      protected void setInstanceCache() {
         //irrelevant in stateless sessions
         return;
      }

      protected void setPersistenceManager() {
         //irrelevant in stateless sessions
         return;
      }

      protected void setInterceptors() throws DeploymentException {
         super.setInterceptors();
         container.addInterceptor(new StatelessSessionInstanceInterceptor
());
      }

   }



Reply via email to