org.jboss.remoting.transport.multiplex
Class MultiplexClientInvoker
java.lang.Object
org.jboss.remoting.AbstractInvoker
org.jboss.remoting.MicroRemoteClientInvoker
org.jboss.remoting.RemoteClientInvoker
org.jboss.remoting.transport.socket.MicroSocketClientInvoker
org.jboss.remoting.transport.socket.SocketClientInvoker
org.jboss.remoting.transport.multiplex.MultiplexClientInvoker
- All Implemented Interfaces:
- Invoker, BidirectionalClientInvoker, ClientInvoker
- Direct Known Subclasses:
- SSLMultiplexClientInvoker
public class MultiplexClientInvoker
- extends SocketClientInvoker
- implements BidirectionalClientInvoker
MultiplexClientInvoker
is the client side of the Multiplex transport.
For more information, see Remoting documentation on labs.jboss.org.
- Author:
- Tom Elrod, Ron Sigal
Fields inherited from class org.jboss.remoting.transport.socket.MicroSocketClientInvoker |
addr, address, CLIENT_SOCKET_CLASS_FLAG, clientSocketClass, connectionPools, deserializeTime, enableTcpNoDelay, getSocketTime, MAX_CALL_RETRIES, MAX_POOL_SIZE, MAX_POOL_SIZE_FLAG, maxPoolSize, numberOfCallRetries, pool, port, readTime, semaphore, semaphores, serializeTime, shouldCheckConnection, TCP_NODELAY_DEFAULT, TCP_NODELAY_FLAG, usedPoolLock, WRAP_INTERRUPTED_EXCEPTION, wrapInterruptedException, writeTime |
Method Summary |
protected void |
configureSocketGroupParameters(java.util.Map parameters)
|
protected java.net.Socket |
createSocket(java.lang.String address,
int port,
int timeout)
|
void |
finishStart()
Finishes the start up process, once adequate bind and connect information is
made available. |
protected java.net.InetSocketAddress |
getBindSocketAddress()
|
InvokerLocator |
getCallbackLocator(java.util.Map metadata)
Gets the locator to be used for callbacks when want do not want
to establish a new physical connectiong from the server to the client. |
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. |
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. |
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.MicroSocketClientInvoker |
checkingConnection, clearPool, clearPools, disconnect, finalize, flushConnectionPool, getConnection, getNumberOfAvailableConnections, getNumberOfCallRetries, getNumberOfUsedConnections, getReuseAddress, getServerHostName, initPool, isWrapInterruptedException, setNumberOfCallRetries, setReuseAddress, setup, setWrapInterruptedException |
Methods inherited from class org.jboss.remoting.MicroRemoteClientInvoker |
connect, establishLease, getLeasePeriod, getLeasePinger, getMarshaller, getSessionId, getUnMarshaller, init, invoke, isConnected, postProcess, preProcess, setMarshaller, setUnMarshaller, terminateLease, terminateLease |
Methods inherited from class org.jboss.remoting.AbstractInvoker |
addClientLocator, createSocketFactory, getClassLoader, getClientLocator, getClientLocators, getConfiguration, getLocator, getSerializationType, getSocketFactory, isCompleteSocketFactory, isSocketFactoryCreatedFromSSLParameters, needsCustomSSLConfiguration, setClassLoader, setSerializationType, setSocketFactory, wrapSocketFactory |
Methods inherited from class java.lang.Object |
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface org.jboss.remoting.transport.ClientInvoker |
addClientLocator, connect, disconnect, establishLease, getClientLocator, getClientLocators, getLeasePeriod, getMarshaller, getSocketFactory, getUnMarshaller, invoke, isConnected, setMarshaller, setSocketFactory, setUnMarshaller, terminateLease |
clientSocketClassName
protected java.lang.String clientSocketClassName
MultiplexClientInvoker
public MultiplexClientInvoker(InvokerLocator locator)
throws java.io.IOException
- Create a new
MultiplexClientInvoker
.
- Parameters:
locator
-
- Throws:
java.io.IOException
MultiplexClientInvoker
public MultiplexClientInvoker(InvokerLocator locator,
java.util.Map configuration)
throws java.io.IOException
- Create a new
MultiplexClientInvoker
.
- Parameters:
locator
-
- Throws:
java.io.IOException
handleConnect
protected void handleConnect()
throws ConnectionFailedException
- Description copied from class:
MicroRemoteClientInvoker
- 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.
- Overrides:
handleConnect
in class MicroSocketClientInvoker
- Throws:
ConnectionFailedException
finishStart
public void finishStart()
throws java.io.IOException
- Finishes the start up process, once adequate bind and connect information is
made available. For more information, see the Multiplex subsystem documentation
at labs.jboss.org.
- Throws:
java.io.IOException
getCallbackLocator
public InvokerLocator getCallbackLocator(java.util.Map metadata)
- Description copied from interface:
BidirectionalClientInvoker
- Gets the locator to be used for callbacks when want do not want
to establish a new physical connectiong from the server to the client.
- Specified by:
getCallbackLocator
in interface BidirectionalClientInvoker
- Returns:
configureSocketGroupParameters
protected void configureSocketGroupParameters(java.util.Map parameters)
throws java.io.IOException
- 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 MicroSocketClientInvoker
- 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 MicroSocketClientInvoker
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 MicroSocketClientInvoker
- Returns:
createSocket
protected java.net.Socket createSocket(java.lang.String address,
int port,
int timeout)
throws java.io.IOException
- Overrides:
createSocket
in class SocketClientInvoker
- Throws:
java.io.IOException
Copyright © 1998-2005 JBoss Inc . All Rights Reserved.