## org.jboss.ejb
Interface ContainerInvoker

All Superinterfaces:
  ContainerPlugin, Service

All Known Implementing Classes:
  JMSContainerInvoker, JRMPContainerInvoker, JRMPContainerInvoker, JRMPContainerInvoker

public interface ContainerInvoker
extends ContainerPlugin

This is an interface for Container plugins. Implementations of this interface are responsible for receiving remote invocations of EJB's and to forward these requests to the Container it is being used with. It is responsible for providing any EJBObject and EJBHome implementations (which may be statically or dynamically created). Before forwarding a call to the container it must call Thread.setContextClassLoader() with the classloader of the container. It must also handle any propagated transaction and security contexts properly. It may acquire the TransactionManager from JNDI.

Version:
  $Revision: 1.6 $
Author:
  Rickard Öberg (rickard.oberg@telkel.com), Marc Fleury
See Also:
  `Container`

Method Summary
`javax.ejb.EJBHome` `getEJBHome()` This method is called whenever the EJBHome implementation for this container is needed.
`javax.ejb.EJBMetaData` `getEJBMetaData()` This method is called whenever the metadata for this container is needed.
`java.util.Collection` `getEntityCollection(java.util.Collection enum)` This method is called whenever a collection of EJBObjects for a collection of primary keys is needed.
`javax.ejb.EJBObject` `getEntityEJBObject(java.lang.Object id)` This method is called whenever an EJBObject implementation for an entitybean is needed.
`javax.ejb.EJBObject` `getStatefulSessionEJBObject(java.lang.Object id)` This method is called whenever an EJBObject implementation for a stateful session bean is needed.
`javax.ejb.EJBObject` `getStatelessSessionEJBObject()` This method is called whenever an EJBObject implementation for a stateless session bean is needed.

Methods inherited from interface org.jboss.ejb.ContainerPlugin
`setContainer`

Methods inherited from interface org.jboss.util.Service
`destroy, init, start, stop`

Method Detail

### getEJBMetaData

    public javax.ejb.EJBMetaData getEJBMetaData()

  This method is called whenever the metadata for this container is needed.
  Returns:
    an implementation of the EJBMetaData interface

### getEJBHome

    public javax.ejb.EJBHome getEJBHome()

  This method is called whenever the EJBHome implementation for this container is needed.
  Returns:
    an implementation of the home interface for this container

### getStatelessSessionEJBObject

    public javax.ejb.EJBObject getStatelessSessionEJBObject()
                                                     throws java.rmi.RemoteException

  This method is called whenever an EJBObject implementation for a stateless session bean is needed.
  Returns:
    an implementation of the remote interface for this container
  Throws:
    `java.rmi.RemoteException` - thrown if the EJBObject could not be created

### getStatefulSessionEJBObject

    public javax.ejb.EJBObject getStatefulSessionEJBObject(java.lang.Object id)
                                                    throws java.rmi.RemoteException

  This method is called whenever an EJBObject implementation for a stateful session bean is needed.
  Parameters:
    `id` - the id of the session
  Returns:
    an implementation of the remote interface for this container
  Throws:
    `java.rmi.RemoteException` - thrown if the EJBObject could not be created

### getEntityEJBObject

    public javax.ejb.EJBObject getEntityEJBObject(java.lang.Object id)
                                           throws java.rmi.RemoteException

  This method is called whenever an EJBObject implementation for an entitybean is needed.
  Parameters:
    `id` - the primary key of the entity
  Returns:
    an implementation of the remote interface for this container
  Throws:
    `java.rmi.RemoteException` - thrown if the EJBObject could not be created

### getEntityCollection

    public java.util.Collection getEntityCollection(java.util.Collection enum)
                                             throws java.rmi.RemoteException

  This method is called whenever a collection of EJBObjects for a collection of primary keys is needed.
  Parameters:
    `enum` - enumeration of primary keys
  Returns:
    a collection of EJBObjects implementing the remote interface for this container
  Throws:
    `java.rmi.RemoteException` - thrown if the EJBObjects could not be created

Copyright © 2000 The JBoss Organization. All Rights Reserved.