org.jboss.remoting.transport.rmi
Class RMIClientInvoker

java.lang.Object
  extended by org.jboss.remoting.AbstractInvoker
      extended by org.jboss.remoting.MicroRemoteClientInvoker
          extended by org.jboss.remoting.RemoteClientInvoker
              extended by org.jboss.remoting.transport.rmi.RMIClientInvoker
All Implemented Interfaces:
Invoker, ClientInvoker
Direct Known Subclasses:
SSLRMIClientInvoker

public class RMIClientInvoker
extends RemoteClientInvoker

RMIClientInvoker

Version:
$Revision: 5017 $
Author:
Jeff Haynie, Tom Elrod

Nested Class Summary
 
Nested classes/interfaces inherited from class org.jboss.remoting.AbstractInvoker
AbstractInvoker.CallbackLocatorHolder
 
Field Summary
static java.lang.String MAX_NUM_TIMEOUT_THREADS
          Key for the configuration map that determines the threadpool size for simulated timeouts.
static int MAX_NUM_TIMEOUT_THREADS_DEFAULT
          Specifies the default number of work threads in the thread pool for simulating timeouts.
static java.lang.String MAX_TIMEOUT_QUEUE_SIZE
          Key for the configuration map that determines the queue size for simulated timeout threadpool.
protected  boolean rmiOnewayMarshalling
           
 
Fields inherited from class org.jboss.remoting.MicroRemoteClientInvoker
connectHomes, parentFirstClassLoading
 
Fields inherited from class org.jboss.remoting.AbstractInvoker
classbyteloader, configuration, localServerLocators, locator, serializationType, socketFactory, socketFactoryCreatedFromSSLParameters, version
 
Constructor Summary
RMIClientInvoker(InvokerLocator locator)
           
RMIClientInvoker(InvokerLocator locator, java.util.Map configuration)
           
 
Method Summary
protected  void configureParameters()
           
protected  java.lang.String getDefaultDataType()
          Each implementation of the remote client invoker should have a default data type that is uses in the case it is not specified in the invoker locator uri.
 RMIServerInvokerInf getServerStub()
          return the RMI server stub
 org.jboss.util.threadpool.ThreadPool getTimeoutThreadPool()
          Gets the thread pool being used for simulating timeouts.
protected  Home getUsableAddress()
           
protected  void handleConnect()
          subclasses must implement this method to provide a hook to connect to the remote server, if this applies to the specific transport.
protected  void handleDisconnect()
          subclasses must implement this method to provide a hook to disconnect from the remote server, if this applies to the specific transport.
 void setServerStub(RMIServerInvokerInf server)
          get the server stub
protected  void storeLocalConfig(java.util.Map config)
           
protected  java.lang.Object transport(java.lang.String sessionId, java.lang.Object invocation, java.util.Map metadata, Marshaller marshaller, UnMarshaller unmarshaller)
           
protected  java.lang.Object unmarshal(java.lang.Object o, UnMarshaller unmarshaller, java.util.Map metadata)
           
 
Methods inherited from class org.jboss.remoting.MicroRemoteClientInvoker
connect, disconnect, establishLease, finalize, getConnectHomes, getLeasePeriod, getMarshaller, getSessionId, getUnMarshaller, init, invoke, isConnected, postProcess, preProcess, setMarshaller, setUnMarshaller, terminateLease
 
Methods inherited from class org.jboss.remoting.AbstractInvoker
addClientLocator, createSocketFactory, getClassLoader, getClientLocator, getClientLocators, getConfiguration, getLocator, getSerializationType, getSocketFactory, getVersion, isCompleteSocketFactory, isSocketFactoryCreatedFromSSLParameters, needsCustomSSLConfiguration, setClassLoader, setSerializationType, setSocketFactory, setVersion, wrapSocketFactory
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.jboss.remoting.transport.ClientInvoker
addClientLocator, getClientLocator, getClientLocators, getSocketFactory, setSocketFactory
 
Methods inherited from interface org.jboss.remoting.Invoker
getLocator
 

Field Detail

MAX_NUM_TIMEOUT_THREADS

public static final java.lang.String MAX_NUM_TIMEOUT_THREADS
Key for the configuration map that determines the threadpool size for simulated timeouts.

See Also:
Constant Field Values

MAX_TIMEOUT_QUEUE_SIZE

public static final java.lang.String MAX_TIMEOUT_QUEUE_SIZE
Key for the configuration map that determines the queue size for simulated timeout threadpool.

See Also:
Constant Field Values

MAX_NUM_TIMEOUT_THREADS_DEFAULT

public static final int MAX_NUM_TIMEOUT_THREADS_DEFAULT
Specifies the default number of work threads in the thread pool for simulating timeouts.

See Also:
Constant Field Values

rmiOnewayMarshalling

protected boolean rmiOnewayMarshalling
Constructor Detail

RMIClientInvoker

public RMIClientInvoker(InvokerLocator locator)

RMIClientInvoker

public RMIClientInvoker(InvokerLocator locator,
                        java.util.Map configuration)
Method Detail

configureParameters

protected void configureParameters()

setServerStub

public void setServerStub(RMIServerInvokerInf server)
get the server stub

Parameters:
server -

getServerStub

public RMIServerInvokerInf getServerStub()
return the RMI server stub

Returns:

handleConnect

protected void handleConnect()
                      throws ConnectionFailedException
subclasses must implement this method to provide a hook to connect to the remote server, if this applies to the specific transport. However, in some transport implementations, this may not make must difference since the connection is not persistent among invocations, such as SOAP. In these cases, the method should silently return without any processing.

Specified by:
handleConnect in class MicroRemoteClientInvoker
Throws:
ConnectionFailedException

getUsableAddress

protected Home getUsableAddress()

handleDisconnect

protected void handleDisconnect()
subclasses must implement this method to provide a hook to disconnect from the remote server, if this applies to the specific transport. However, in some transport implementations, this may not make must difference since the connection is not persistent among invocations, such as SOAP. In these cases, the method should silently return without any processing.

Specified by:
handleDisconnect in class MicroRemoteClientInvoker

getDefaultDataType

protected java.lang.String getDefaultDataType()
Description copied from class: MicroRemoteClientInvoker
Each implementation of the remote client invoker should have a default data type that is uses in the case it is not specified in the invoker locator uri.

Specified by:
getDefaultDataType in class MicroRemoteClientInvoker

storeLocalConfig

protected void storeLocalConfig(java.util.Map config)

transport

protected java.lang.Object transport(java.lang.String sessionId,
                                     java.lang.Object invocation,
                                     java.util.Map metadata,
                                     Marshaller marshaller,
                                     UnMarshaller unmarshaller)
                              throws java.io.IOException,
                                     ConnectionFailedException
Specified by:
transport in class MicroRemoteClientInvoker
Throws:
java.io.IOException
ConnectionFailedException

unmarshal

protected java.lang.Object unmarshal(java.lang.Object o,
                                     UnMarshaller unmarshaller,
                                     java.util.Map metadata)
                              throws java.io.IOException
Throws:
java.io.IOException

getTimeoutThreadPool

public org.jboss.util.threadpool.ThreadPool getTimeoutThreadPool()
Gets the thread pool being used for simulating timeouts. If one has not been specifically set via configuration or call to set it, will always return instance of org.jboss.util.threadpool.BasicThreadPool.



Copyright ? 1998-2005 JBoss Inc . All Rights Reserved.