## org.jboss.ejb
Class MessageDrivenContainer

    java.lang.Object
      |
      +--org.jboss.ejb.Container
            |
            +--org.jboss.ejb.MessageDrivenContainer

All Implemented Interfaces:
  ContainerInvokerContainer, InstancePoolContainer

public class MessageDrivenContainer
extends Container
implements ContainerInvokerContainer, InstancePoolContainer

MessageDrivenContainer, based on the StatelessSessionContainer.

Version:
  $Revision: 1.6.4.3 $
Author:
  Peter Antman., Rickard Öberg, Marc Fleury, Daniel OConnor, Jason Dillon, Scott Stark
See Also:
  `StatelessSessionContainer`

Field Summary
`protected java.util.Map` `beanMapping` These are the mappings between the remote interface methods and the bean methods.
`protected ContainerInvoker` `containerInvoker` This is the container invoker for this container.
`protected InstancePool` `instancePool` This is the instancepool that is to be used.
`protected Interceptor` `interceptor` This is the first interceptor in the chain.

Fields inherited from class org.jboss.ejb.Container
`application, beanClass, classLoader, localClassLoader, localContainerInvoker, localHomeInterface, localInterface, lockManager, log, metaData, rm, securityProxy, sm, tm`

Constructor Summary
`MessageDrivenContainer()`

Method Summary
`void` `addInterceptor(Interceptor in)`
`javax.ejb.EJBObject` `createHome()`
`void` `destroy()` A default implementation of destroying the container service (no-op).
`ContainerInvoker` `getContainerInvoker()`
`javax.ejb.EJBMetaData` `getEJBMetaDataHome()`
`java.lang.Class` `getHomeClass()` ContainerInvokerContainer - not needed, should we skip inherit this or just throw Error??
`javax.ejb.HomeHandle` `getHomeHandleHome()`
`InstancePool` `getInstancePool()`
`Interceptor` `getInterceptor()`
`java.lang.Class` `getLocalClass()`
`LocalContainerInvoker` `getLocalContainerInvoker()`
`java.lang.Class` `getLocalHomeClass()`
`java.lang.Class` `getRemoteClass()`
`void` `init()` The ContainerFactory calls this method.
`java.lang.Object` `invoke(MethodInvocation mi)` This method does invocation interpositioning of tx and security, retrieves the instance from an object table, and invokes the method on the particular instance
`java.lang.Object` `invokeHome(MethodInvocation mi)` This method is called by the ContainerInvoker when a method call comes in on the Home object.
`void` `removeHome(javax.ejb.Handle handle)`
`void` `removeHome(java.lang.Object primaryKey)`
`void` `setContainerInvoker(ContainerInvoker ci)`
`void` `setInstancePool(InstancePool ip)`
`protected void` `setupBeanMapping()`
`void` `start()` A default implementation of starting the container service (no-op).
`void` `stop()` A default implementation of stopping the container service (no-op).

Methods inherited from class org.jboss.ejb.Container
`createBeanClassInstance, getApplication, getBeanClass, getBeanMetaData, getClassLoader, getLocalClassLoader, getLockManager, getMethodPermissions, getRealmMapping, getSecurityManager, getSecurityProxy, getTransactionManager, setApplication, setBeanMetaData, setClassLoader, setLocalClassLoader, setLockManager, setRealmMapping, setSecurityManager, setSecurityProxy, setTransactionManager`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### beanMapping

    protected java.util.Map beanMapping

  These are the mappings between the remote interface methods and the bean methods.

### containerInvoker

    protected ContainerInvoker containerInvoker

  This is the container invoker for this container.

### instancePool

    protected InstancePool instancePool

  This is the instancepool that is to be used.

### interceptor

    protected Interceptor interceptor

  This is the first interceptor in the chain. The last interceptor must be provided by the container itself.

Constructor Detail

### MessageDrivenContainer

    public MessageDrivenContainer()

Method Detail

### setContainerInvoker

    public void setContainerInvoker(ContainerInvoker ci)

### getContainerInvoker

    public ContainerInvoker getContainerInvoker()

  Specified by:
    `getContainerInvoker` in interface `ContainerInvokerContainer`

### getLocalContainerInvoker

    public LocalContainerInvoker getLocalContainerInvoker()

  Specified by:
    `getLocalContainerInvoker` in interface `ContainerInvokerContainer`

### setInstancePool

    public void setInstancePool(InstancePool ip)

### getInstancePool

    public InstancePool getInstancePool()

  Specified by:
    `getInstancePool` in interface `InstancePoolContainer`

### addInterceptor

    public void addInterceptor(Interceptor in)

  Overrides:
    `addInterceptor` in class `Container`

### getInterceptor

    public Interceptor getInterceptor()

### getHomeClass

    public java.lang.Class getHomeClass()

  ContainerInvokerContainer - not needed, should we skip inherit this or just throw Error??
  Specified by:
    `getHomeClass` in interface `ContainerInvokerContainer`

### getRemoteClass

    public java.lang.Class getRemoteClass()

  Specified by:
    `getRemoteClass` in interface `ContainerInvokerContainer`

### getLocalClass

    public java.lang.Class getLocalClass()

  Specified by:
    `getLocalClass` in interface `ContainerInvokerContainer`
  Overrides:
    `getLocalClass` in class `Container`

### getLocalHomeClass

    public java.lang.Class getLocalHomeClass()

  Specified by:
    `getLocalHomeClass` in interface `ContainerInvokerContainer`
  Overrides:
    `getLocalHomeClass` in class `Container`

### init

    public void init()
              throws java.lang.Exception

  Description copied from class: `Container`
  The ContainerFactory calls this method. The ContainerFactory has set all the plugins and interceptors that this bean requires and now proceeds to initialize the chain. The method looks for the standard classes in the URL, sets up the naming environment of the bean. The concrete container classes should override this method to introduce implementation specific initialization behaviour.
  Overrides:
    `init` in class `Container`
  Following copied from class: `org.jboss.ejb.Container`
  Throws:
    `java.lang.Exception` - if loading the bean class failed (ClassNotFoundException) or setting up "java:" naming environment failed (DeploymentException)

### start

    public void start()
               throws java.lang.Exception

  Description copied from class: `Container`
  A default implementation of starting the container service (no-op). The concrete container classes should override this method to introduce implementation specific start behaviour.
  Overrides:
    `start` in class `Container`
  Following copied from class: `org.jboss.ejb.Container`
  Throws:
    `java.lang.Exception` - an exception that occured during start

### stop

    public void stop()

  Description copied from class: `Container`
  A default implementation of stopping the container service (no-op). The concrete container classes should override this method to introduce implementation specific stop behaviour.
  Overrides:
    `stop` in class `Container`

### destroy

    public void destroy()

  Description copied from class: `Container`
  A default implementation of destroying the container service (no-op). The concrete container classes should override this method to introduce implementation specific destroy behaviour.
  Overrides:
    `destroy` in class `Container`

### invokeHome

    public java.lang.Object invokeHome(MethodInvocation mi)
                                throws java.lang.Exception

  Description copied from class: `Container`
  This method is called by the ContainerInvoker when a method call comes in on the Home object. The Container forwards this call to the interceptor chain for further processing.
  Overrides:
    `invokeHome` in class `Container`
  Following copied from class: `org.jboss.ejb.Container`
  Parameters:
    `mi` - the object holding all info about this invocation
  Returns:
    the result of the home invocation
  Throws:
    `java.lang.Exception` -

### invoke

    public java.lang.Object invoke(MethodInvocation mi)
                            throws java.lang.Exception

  This method does invocation interpositioning of tx and security, retrieves the instance from an object table, and invokes the method on the particular instance
  Overrides:
    `invoke` in class `Container`
  Following copied from class: `org.jboss.ejb.Container`
  Parameters:
    `id` - the id of the object being invoked. May be null if stateless
    `method` - the method being invoked
    `args` - the parameters
  Returns:
    the result of the invocation
  Throws:
    `java.lang.Exception` -

### createHome

    public javax.ejb.EJBObject createHome()
                                   throws java.rmi.RemoteException,
                                          javax.ejb.CreateException

### removeHome

    public void removeHome(javax.ejb.Handle handle)
                    throws java.rmi.RemoteException,
                           javax.ejb.RemoveException

### removeHome

    public void removeHome(java.lang.Object primaryKey)
                    throws java.rmi.RemoteException,
                           javax.ejb.RemoveException

### getEJBMetaDataHome

    public javax.ejb.EJBMetaData getEJBMetaDataHome()
                                             throws java.rmi.RemoteException

### getHomeHandleHome

    public javax.ejb.HomeHandle getHomeHandleHome()
                                           throws java.rmi.RemoteException

### setupBeanMapping

    protected void setupBeanMapping()
                             throws java.lang.NoSuchMethodException

Copyright © 2000 The JBoss Organization. All Rights Reserved.