## org.jboss.ejb.plugins.jrmp.server
Class JRMPContainerInvoker

    java.lang.Object
      |
      +--java.rmi.server.RemoteObject
            |
            +--java.rmi.server.RemoteServer
                  |
                  +--org.jboss.ejb.plugins.jrmp.server.JRMPContainerInvoker

All Implemented Interfaces:
  ContainerInvoker, ContainerPlugin, ContainerRemote, java.rmi.Remote, java.io.Serializable, Service, XmlLoadable

public class JRMPContainerInvoker
extends java.rmi.server.RemoteServer
implements ContainerRemote, ContainerInvoker, XmlLoadable

Version:
  $Revision: 1.37.4.7 $
Author:
  Rickard Öberg (rickard.oberg@telkel.com), Sebastien Alborini, Marc Fleury, Juha Lindfors, Scott Stark
See Also:
  Serialized Form

Field Summary
`protected static int` `ANONYMOUS_PORT`
`protected java.util.Map` `beanMethodInvokerMap`
`protected ContainerInvoker` `ciDelegate`
`protected java.rmi.server.RMIClientSocketFactory` `clientSocketFactory` An optional custom client socket factory
`protected java.lang.String` `clientSocketFactoryName` The class name of the optional custom client socket factory
`protected Container` `container`
`protected EJBMetaDataImpl` `ejbMetaData`
`protected javax.ejb.EJBHome` `home`
`protected java.util.Map` `homeMethodInvokerMap`
`protected ContainerInvokerContainer` `invokerContainer`
`protected boolean` `jdk122`
`protected java.lang.String` `jndiName`
`protected boolean` `optimize`
`protected int` `rmiPort` The port the container will be exported on
`protected java.lang.String` `serverAddress` The address to bind the rmi port on
`protected java.rmi.server.RMIServerSocketFactory` `serverSocketFactory` An optional custom server socket factory
`protected java.lang.String` `serverSocketFactoryName` The class name of the optional custom server socket factory
`protected SecurityDomain` `sslDomain` The SecurityDomain instance for the ssl-domain setting
`protected javax.ejb.EJBObject` `statelessObject`

Fields inherited from class java.rmi.server.RemoteObject
`ref`

Fields inherited from interface org.jboss.ejb.plugins.jrmp.interfaces.ContainerRemote
`STARTUP`

Constructor Summary
`JRMPContainerInvoker()`

Method Summary
`void` `destroy()`
`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 ids)` 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.
`java.lang.String` `getJndiName()`
`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.
`void` `importXml(org.w3c.dom.Element element)`
`void` `init()`
`java.rmi.MarshalledObject` `invoke(java.rmi.MarshalledObject mimo)` Invoke a Remote interface method.
`java.lang.Object` `invoke(java.lang.Object id, java.lang.reflect.Method m, java.lang.Object[] args, javax.transaction.Transaction tx, java.security.Principal identity, java.lang.Object credential)` Invoke a Remote interface method.
`java.rmi.MarshalledObject` `invokeHome(java.rmi.MarshalledObject mimo)` Invoke a Home interface method.
`java.lang.Object` `invokeHome(java.lang.reflect.Method m, java.lang.Object[] args, javax.transaction.Transaction tx, java.security.Principal identity, java.lang.Object credential)` Invoke a Home interface method.
`boolean` `isOptimized()`
`protected void` `rebind(javax.naming.Context ctx, java.lang.String name, java.lang.Object val)`
`void` `setContainer(Container con)` This callback is set by the container so that the plugin may access it
`void` `setOptimized(boolean optimize)`
`void` `start()`
`void` `stop()`

Methods inherited from class java.rmi.server.RemoteServer
`getClientHost, getLog, setLog`

Methods inherited from class java.rmi.server.RemoteObject
`equals, getRef, hashCode, toString, toStub`

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

Field Detail

### ANONYMOUS_PORT

    protected static final int ANONYMOUS_PORT

### optimize

    protected boolean optimize

### rmiPort

    protected int rmiPort

  The port the container will be exported on

### clientSocketFactory

    protected java.rmi.server.RMIClientSocketFactory clientSocketFactory

  An optional custom client socket factory

### serverSocketFactory

    protected java.rmi.server.RMIServerSocketFactory serverSocketFactory

  An optional custom server socket factory

### clientSocketFactoryName

    protected java.lang.String clientSocketFactoryName

  The class name of the optional custom client socket factory

### serverSocketFactoryName

    protected java.lang.String serverSocketFactoryName

  The class name of the optional custom server socket factory

### sslDomain

    protected SecurityDomain sslDomain

  The SecurityDomain instance for the ssl-domain setting

### serverAddress

    protected java.lang.String serverAddress

  The address to bind the rmi port on

### jdk122

    protected boolean jdk122

### container

    protected Container container

### invokerContainer

    protected ContainerInvokerContainer invokerContainer

### jndiName

    protected java.lang.String jndiName

### ejbMetaData

    protected EJBMetaDataImpl ejbMetaData

### home

    protected javax.ejb.EJBHome home

### statelessObject

    protected javax.ejb.EJBObject statelessObject

### beanMethodInvokerMap

    protected java.util.Map beanMethodInvokerMap

### homeMethodInvokerMap

    protected java.util.Map homeMethodInvokerMap

### ciDelegate

    protected ContainerInvoker ciDelegate

Constructor Detail

### JRMPContainerInvoker

    public JRMPContainerInvoker()

Method Detail

### setOptimized

    public void setOptimized(boolean optimize)

### isOptimized

    public boolean isOptimized()

### getJndiName

    public java.lang.String getJndiName()

### setContainer

    public void setContainer(Container con)

  Description copied from interface: `ContainerPlugin`
  This callback is set by the container so that the plugin may access it
  Specified by:
    `setContainer` in interface `ContainerPlugin`
  Following copied from interface: `org.jboss.ejb.ContainerPlugin`
  Parameters:
    `con` - the container using this plugin

### init

    public void init()
              throws java.lang.Exception

  Specified by:
    `init` in interface `Service`

### start

    public void start()
               throws java.lang.Exception

  Specified by:
    `start` in interface `Service`

### stop

    public void stop()

  Specified by:
    `stop` in interface `Service`

### destroy

    public void destroy()

  Specified by:
    `destroy` in interface `Service`

### getEJBMetaData

    public javax.ejb.EJBMetaData getEJBMetaData()

  Description copied from interface: `ContainerInvoker`
  This method is called whenever the metadata for this container is needed.
  Specified by:
    `getEJBMetaData` in interface `ContainerInvoker`
  Following copied from interface: `org.jboss.ejb.ContainerInvoker`
  Returns:
    an implementation of the EJBMetaData interface

### getEJBHome

    public javax.ejb.EJBHome getEJBHome()

  Description copied from interface: `ContainerInvoker`
  This method is called whenever the EJBHome implementation for this container is needed.
  Specified by:
    `getEJBHome` in interface `ContainerInvoker`
  Following copied from interface: `org.jboss.ejb.ContainerInvoker`
  Returns:
    an implementation of the home interface for this container

### getStatelessSessionEJBObject

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

  Description copied from interface: `ContainerInvoker`
  This method is called whenever an EJBObject implementation for a stateless session bean is needed.
  Specified by:
    `getStatelessSessionEJBObject` in interface `ContainerInvoker`
  Following copied from interface: `org.jboss.ejb.ContainerInvoker`
  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

  Description copied from interface: `ContainerInvoker`
  This method is called whenever an EJBObject implementation for a stateful session bean is needed.
  Specified by:
    `getStatefulSessionEJBObject` in interface `ContainerInvoker`
  Following copied from interface: `org.jboss.ejb.ContainerInvoker`
  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

  Description copied from interface: `ContainerInvoker`
  This method is called whenever an EJBObject implementation for an entitybean is needed.
  Specified by:
    `getEntityEJBObject` in interface `ContainerInvoker`
  Following copied from interface: `org.jboss.ejb.ContainerInvoker`
  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 ids)
                                             throws java.rmi.RemoteException

  Description copied from interface: `ContainerInvoker`
  This method is called whenever a collection of EJBObjects for a collection of primary keys is needed.
  Specified by:
    `getEntityCollection` in interface `ContainerInvoker`
  Following copied from interface: `org.jboss.ejb.ContainerInvoker`
  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

### invokeHome

    public java.rmi.MarshalledObject invokeHome(java.rmi.MarshalledObject mimo)
                                         throws java.lang.Exception

  Invoke a Home interface method.
  Specified by:
    `invokeHome` in interface `ContainerRemote`
  Following copied from interface: `org.jboss.ejb.plugins.jrmp.interfaces.ContainerRemote`
  Parameters:
    `mi` - The marshalled object representing the method to invoke.
  Returns:
    Return value of method invocation.
  Throws:
    `java.lang.Exception` - Failed to invoke method.

### invoke

    public java.rmi.MarshalledObject invoke(java.rmi.MarshalledObject mimo)
                                     throws java.lang.Exception

  Invoke a Remote interface method.
  Specified by:
    `invoke` in interface `ContainerRemote`
  Following copied from interface: `org.jboss.ejb.plugins.jrmp.interfaces.ContainerRemote`
  Parameters:
    `mi` - The marshalled object representing the method to invoke.
  Returns:
    Return value of method invocation.
  Throws:
    `java.lang.Exception` - Failed to invoke method.

### invokeHome

    public java.lang.Object invokeHome(java.lang.reflect.Method m,
                                       java.lang.Object[] args,
                                       javax.transaction.Transaction tx,
                                       java.security.Principal identity,
                                       java.lang.Object credential)
                                throws java.lang.Exception

  Invoke a Home interface method. This is for optimized local calls.
  Specified by:
    `invokeHome` in interface `ContainerRemote`
  Following copied from interface: `org.jboss.ejb.plugins.jrmp.interfaces.ContainerRemote`
  Parameters:
    `m` - The method to invoke.
    `args` - The arguments to the method.
    `tx` - The transaction to use for the invocation.
    `idendity` - The principal to use for the invocation.
    `credential` - The credentials to use for the invocation.
  Returns:
    Return value of method invocation.
  Throws:
    `java.lang.Exception` - Failed to invoke method.

### invoke

    public java.lang.Object invoke(java.lang.Object id,
                                   java.lang.reflect.Method m,
                                   java.lang.Object[] args,
                                   javax.transaction.Transaction tx,
                                   java.security.Principal identity,
                                   java.lang.Object credential)
                            throws java.lang.Exception

  Invoke a Remote interface method. This is for optimized local calls.
  Specified by:
    `invoke` in interface `ContainerRemote`
  Following copied from interface: `org.jboss.ejb.plugins.jrmp.interfaces.ContainerRemote`
  Parameters:
    `id` - The identity of the object to invoke.
    `m` - The method to invoke.
    `args` - The arguments to the method.
    `tx` - The transaction to use for the invocation.
    `idendity` - The principal to use for the invocation.
    `credential` - The credentials to use for the invocation.
  Returns:
    Return value of method invocation.
  Throws:
    `java.lang.Exception` - Failed to invoke method.

### importXml

    public void importXml(org.w3c.dom.Element element)
                   throws DeploymentException

  Specified by:
    `importXml` in interface `XmlLoadable`

### rebind

    protected void rebind(javax.naming.Context ctx,
                          java.lang.String name,
                          java.lang.Object val)
                   throws javax.naming.NamingException

Copyright © 2000 The JBoss Organization. All Rights Reserved.