|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectmandala.jacob.remote.AbstractRemote
mandala.jacob.remote.AbstractLocalReferenceRetriever
mandala.jacob.remote.rmi.RMISingletonRemoteProxy
mandala.jacob.remote.rmi.RMIMap
mandala.jacob.remote.rmi.RMIActiveMap
Java-RMI RemoteActiveMap
implementation.
AbstractRemote
,
RemoteActiveMap
,
ExceptionHandler
,
RMIMap
,
Serialized FormNested Class Summary |
Nested classes inherited from class mandala.jacob.remote.rmi.RMIMap |
RMIMap.RMIEntry |
Nested classes inherited from class mandala.jacob.remote.RemoteActiveMap |
RemoteActiveMap.CallRemoteExceptionInfo, RemoteActiveMap.RemoteActiveMapMethods, RemoteActiveMap.RemoteFutureFactory |
Nested classes inherited from class java.util.Map |
java.util.Map.Entry |
Nested classes inherited from class mandala.jacob.remote.RemoteMap |
RemoteMap.RemoteEntry, RemoteMap.RemoteMapMethods |
Field Summary |
Fields inherited from class mandala.jacob.remote.rmi.RMIMap |
singletonGiver |
Fields inherited from class mandala.jacob.remote.AbstractRemote |
defaultExceptionHandler, exceptionHandler, syslog |
Method Summary | |
Cancelable |
call(java.lang.Object key,
FutureServer future)
Allows objects to do an asynchronous call on a method of the object associated with the given key. |
RemoteActiveMap.RemoteFutureFactory |
getDefaultFutureFactoryWrapper(FutureFactory futureFactory)
Return the default remote future factory wrapper of "standard" (local) future factory. |
static RMIActiveMap |
newServer(ActiveMap activeMap)
Creates a new RMIActiveMap server for the specified
active map. |
static RMIActiveMap |
newServer(ActiveMap activeMap,
int port)
Creates a new RMIActiveMap server for the specified
active map. |
java.lang.String |
toString()
|
Methods inherited from class mandala.jacob.remote.rmi.RMIMap |
clear, containsKey, containsValue, entrySet, get, isEmpty, keySet, newServer, newServer, put, putAll, putAll, readResolve, remove, size, values |
Methods inherited from class mandala.jacob.remote.AbstractLocalReferenceRetriever |
finalize, getID, getLocalReference |
Methods inherited from class mandala.jacob.remote.AbstractRemote |
getDefaultExceptionHandler, getExceptionHandler, getSyslog, handleException, setDefaultExceptionHandler, setExceptionHandler, setSyslog |
Methods inherited from class java.lang.Object |
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface java.util.Map |
clear, containsKey, containsValue, entrySet, equals, get, hashCode, isEmpty, keySet, put, putAll, remove, size, values |
Methods inherited from interface mandala.jacob.remote.RemoteMap |
entrySet, keySet, putAll, values |
Methods inherited from interface mandala.jacob.remote.LocalReferenceRetriever |
getID, getLocalReference |
Methods inherited from interface mandala.jacob.remote.Remote |
getExceptionHandler, setExceptionHandler |
Method Detail |
public static RMIActiveMap newServer(ActiveMap activeMap) throws java.rmi.RemoteException
Creates a new RMIActiveMap
server for the specified
active map.
activeMap
- the active map to serve remotely
RMIActiveMap
instance representing the given
active map
java.rmi.RemoteException
- if an error occurspublic static RMIActiveMap newServer(ActiveMap activeMap, int port) throws java.rmi.RemoteException
Creates a new RMIActiveMap
server for the specified
active map.
activeMap
- the active map to serve remotelyport
- the port to listen to
RMIActiveMap
instance representing the given
active map
java.rmi.RemoteException
- if an error occurspublic RemoteActiveMap.RemoteFutureFactory getDefaultFutureFactoryWrapper(FutureFactory futureFactory)
RemoteActiveMap
Return the default remote future factory wrapper of "standard" (local) future factory.
This method is tiedly coupled with the SORFactory
class.
Every RemoteActiveMap
implementation must provide
default RemoteFutureFactory
wrappers for traditionnal
(i.e. local) FutureFactory
in order to make remotely
accessible the notion of futures which is decomposed in two
parts:
FutureServer
part which is used by RAMI
implementors such as RemoteActiveMap
implementation;
FutureClient
part which is used by RAMI client.
The wrapper may for example make remote the FutureServer
object so the RemoteActiveMap
implementation can
send/receive datas to/from it.
Another approach is to send the FutureServer
on the
other side, hence the result of method invocation can be keep on the
host where the calculation have been made, and the RAMI Callback
mechanism may be used to use this result where it is. In this case, no
communication is necessary to send the result back to the client.
The last approach is to send both the FutureClient
and
the FutureServer
on the other side, hence communication
between FutureClient
and FutureServer
are done
locally. A proxy must be created by the wrapper in order for local
client to access to the remote FutureClient
if
necessary.
getDefaultFutureFactoryWrapper
in interface RemoteActiveMap
futureFactory
- the futureFactory
which create
futures to be wrapped
FutureFactory
that wraps futures
returned by the given futureFactory
public Cancelable call(java.lang.Object key, FutureServer future)
ActiveMap
Allows objects to do an asynchronous call on a method of the object associated with the given key.
Invokes the method returned by futureServer.getMethod()
on the object maps to the specified key
(if it exists).
The futureServer
object is also used to sets the result
once the method returns either normally or abruptly (exception) with the
method futureServer.setResult()
The futureServer
object given is used as specified in
MethodInvoker.run()
call
in interface ActiveMap
key
- The key associated with the stored object.future
- A FutureServer
object.
FutureServer
,
MethodInvoker
public java.lang.String toString()
toString
in class RMIMap
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |