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.6 $
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.