org.jboss.remoting.transport.multiplex
Class MultiplexClientInvoker

java.lang.Object
  extended byorg.jboss.remoting.AbstractInvoker
      extended byorg.jboss.remoting.RemoteClientInvoker
          extended byorg.jboss.remoting.transport.socket.SocketClientInvoker
              extended byorg.jboss.remoting.transport.multiplex.MultiplexClientInvoker
All Implemented Interfaces:
ClientInvoker, Invoker, MultiplexInvokerConstants
Direct Known Subclasses:
SSLMultiplexClientInvoker

public class MultiplexClientInvoker
extends SocketClientInvoker
implements MultiplexInvokerConstants

See javadoc for MultiplexServerInvoker.

Author:
Tom Elrod

Field Summary
protected  java.lang.String clientSocketClassName
           
 
Fields inherited from class org.jboss.remoting.transport.socket.SocketClientInvoker
address, CLIENT_SOCKET_CLASS_FLAG, connectionPools, deserializeTime, enableTcpNoDelay, getSocketTime, MAX_POOL_SIZE_FLAG, MAX_RETRIES, maxPoolSize, numberOfRetries, pool, readTime, serializeTime, SO_TIMEOUT_DEFAULT, SO_TIMEOUT_FLAG, TCP_NODELAY_DEFAULT, TCP_NODELAY_FLAG, timeout, usedPooled, writeTime
 
Fields inherited from class org.jboss.remoting.RemoteClientInvoker
connected
 
Fields inherited from class org.jboss.remoting.AbstractInvoker
classbyteloader, configuration, localServerLocators, locator, log, serializationType
 
Fields inherited from interface org.jboss.remoting.transport.multiplex.MultiplexInvokerConstants
CLIENT_MULTIPLEX_ID_KEY, MULTIPLEX_BIND_HOST_KEY, MULTIPLEX_BIND_PORT_KEY, MULTIPLEX_CONNECT_HOST_KEY, MULTIPLEX_CONNECT_PORT_KEY, SERVER_MULTIPLEX_ID_KEY
 
Constructor Summary
MultiplexClientInvoker(InvokerLocator locator)
          Create a new MultiplexClientInvoker.
MultiplexClientInvoker(InvokerLocator locator, java.util.Map configuration)
          Create a new MultiplexClientInvoker.
 
Method Summary
protected  void configureSocketGroupParameters(java.util.Map parameters)
          FIXME Comment this
protected  java.net.Socket createSocket(java.lang.String address, int port)
           
 void finishStart()
          FIXME Comment this
protected  java.net.InetSocketAddress getBindSocketAddress()
           
protected  java.net.InetSocketAddress getConnectSocketAddress()
           
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.
 int getTimeout()
          Getter for property timeout
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.
protected  void setup()
          FIXME Comment this
protected  java.lang.Object transport(java.lang.String sessionId, java.lang.Object invocation, java.util.Map metadata, Marshaller marshaller, UnMarshaller unmarshaller)
           
 
Methods inherited from class org.jboss.remoting.transport.socket.SocketClientInvoker
clearPool, clearPools, configureParameters, createClientSocket, finalize, getConnection, getNumberOfRetries, getPooledConnection, getServerHostName, handleConnect, initPool, setNumberOfRetries
 
Methods inherited from class org.jboss.remoting.RemoteClientInvoker
connect, createSocketFactory, disconnect, getMarshaller, getSocketFactory, getUnMarshaller, invoke, isConnected, postProcess, preProcess, setMarshaller, setUnMarshaller
 
Methods inherited from class org.jboss.remoting.AbstractInvoker
addClientLocator, getClassLoader, getClientLocator, getLocator, getSerializationType, setClassLoader, setSerializationType
 
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
 
Methods inherited from interface org.jboss.remoting.Invoker
getLocator
 

Field Detail

clientSocketClassName

protected java.lang.String clientSocketClassName
Constructor Detail

MultiplexClientInvoker

public MultiplexClientInvoker(InvokerLocator locator)
                       throws java.io.IOException
Create a new MultiplexClientInvoker.

Parameters:
locator -

MultiplexClientInvoker

public MultiplexClientInvoker(InvokerLocator locator,
                              java.util.Map configuration)
                       throws java.io.IOException
Create a new MultiplexClientInvoker.

Parameters:
locator -
Method Detail

setup

protected void setup()
              throws java.lang.Exception
FIXME Comment this

Overrides:
setup in class SocketClientInvoker
Throws:
java.lang.Exception

finishStart

public void finishStart()
                 throws java.io.IOException
FIXME Comment this

Throws:
java.io.IOException

configureSocketGroupParameters

protected void configureSocketGroupParameters(java.util.Map parameters)
                                       throws java.io.IOException
FIXME Comment this

Parameters:
parameters -
Throws:
java.io.IOException

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,
                                     java.lang.ClassNotFoundException
Overrides:
transport in class SocketClientInvoker
Parameters:
sessionId -
invocation -
marshaller -
Returns:
Throws:
java.io.IOException
ConnectionFailedException
java.lang.ClassNotFoundException

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.

Overrides:
handleDisconnect in class SocketClientInvoker

getBindSocketAddress

protected java.net.InetSocketAddress getBindSocketAddress()
Returns:

getConnectSocketAddress

protected java.net.InetSocketAddress getConnectSocketAddress()
Returns:

getDefaultDataType

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.

Overrides:
getDefaultDataType in class SocketClientInvoker
Returns:

getTimeout

public int getTimeout()
Getter for property timeout

Returns:
Value of property timeout

createSocket

protected java.net.Socket createSocket(java.lang.String address,
                                       int port)
                                throws java.io.IOException
Overrides:
createSocket in class SocketClientInvoker
Throws:
java.io.IOException


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