|
|||||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |
See:
Description
Interface Summary | |
Client | Generic Client interface for a JACOb transport layer. |
Exporter | This interface is used when a mandala core object must be exported. |
Class Summary | |
AbstractFutureFactoryWrapper | Abstract class for FutureFactory wrapper implementation. |
AbstractRemoteProxy | Abstract base class for remote proxy implementation. |
AbstractSingletonRemoteProxy | Abstract base class for remote proxy with singleton implementation. |
ActiveMapMethods | |
CancelableMethods | |
CollectionMethods | |
CommonProperties | Common properties used by any server. |
InvocationEventsWaiterMethods | |
InvocationInfoMethods | |
InvocationObserverMethods | |
InvocationResult | Instances of this class represents the result of a method invocation. |
IteratorMethods | |
MapMethods | |
MapMethods.EntryMethods | |
MethodInvocation | Instances of this class represents a method invocation to perform. |
MethodResultMethods | |
RemoteActiveMapProxy | Generic proxy for remote ActiveMap implementation. |
RemoteCancelableProxy | Generic proxy for remote Cancelable implementation. |
RemoteCollectionProxy | Generic proxy for remote Collection implementation. |
RemoteInvocationEventsWaiterProxy | Generic proxy for remote InvocationEventsWaiter
implementation. |
RemoteInvocationInfoProxy | Generic proxy for remote InvocationInfo implementation. |
RemoteInvocationObserverProxy | Generic proxy for remote InvocationObserver
implementation. |
RemoteIteratorProxy | General proxy for remote Iterator implementation. |
RemoteMapProxy | Generic proxy for remote Map implementation. |
RemoteMapProxy.RemoteEntryProxy | Generic proxy for remote Map.Entry implementation. |
RemoteMethodResultProxy | Generic proxy for remote MethodResult
implementation. |
RemoteResultUpdaterProxy | Generic proxy for remote ResultUpdater implementation. |
RemoteSetProxy | Generic proxy for remote Set implementation. |
RemoteThreadProxy | Generic proxy for remote ThreadOp implementation. |
ResultUpdaterMethods | |
ThreadMethods |
Generic Protocol Framework (GPF) contains classes that may help implementors of new JACOb protocols.
ServerRunner
classServerRunner
class containing a standard static void
main(String[] args)
method conforming to the following usage must be
provided:
Usage: java my.jacob.implementation.ServerRunner [-help] [AnyOtherOptions] ServerType BindNameWhere:
'ServerType'
is the type of server to create (Map,
ActiveMap, Set or Collection)
'BindName'
is the name this server must be binded to
The -help
must be used to get generic usage or
specific usage. Generic usage is the generic syntax to used
to run a given server type and the list of properties available for any server
type. Specific usage is the list of properties a specific server type
may use.
$ java mandala.jacob.remote.gpf.udp.ServerRunner Usage: java mandala.jacob.remote.gpf.udp.ServerRunner [-help] [-port=port] ServerType BindName Where: 'port' is the port this server must listen to 'ServerType' is the type of server to create (Map, ActiveMap, or Collection) 'BindName' is the name this server must be binded to Use the -help to get the list of properties available for a given 'ServerType'. Properties : syslog.logStream=file (default : stdout) syslog.debugStream=file (default : none) syslog.errorStream=file (default : stderr) 'file' can be set to : stdout: meaning output should be done on the standard output stream stderr: meaning output should be done on the standard error stream none: meaning no output is desired (option unavailable for syslog.errorStream)
Map
Server Type$ java mandala.jacob.remote.gpf.udp.ServerRunner -help Map Help requested for Map: Properties : map.class=class (default: java.util.HashMap) syslog.logStream=file (default : stdout) syslog.debugStream=file (default : none) syslog.errorStream=file (default : stderr) 'class' is the fully qualified name of a Map class 'file' can be set to : stdout: meaning output should be done on the standard output stream stderr: meaning output should be done on the standard error stream none: meaning no output is desired (option unavailable for syslog.errorStream)
$ java mandala.jacob.remote.gpf.rmi.ServerRunner Usage: java mandala.jacob.remote.gpf.rmi.ServerRunner [-help] [-port=port] ServerType BindName Where: 'port' is the port this server must listen to 'ServerType' is the type of server to create (Map, ActiveMap, or Collection) 'BindName' is the name this server must be binded to Use the -help to get the list of properties available for a given 'ServerType'. Properties : syslog.rmiStream=file (default : none) syslog.logStream=file (default : stdout) syslog.debugStream=file (default : none) syslog.errorStream=file (default : stderr) 'file' can be set to : stdout: meaning output should be done on the standard output stream stderr: meaning output should be done on the standard error stream none: meaning no output is desired (option unavailable for syslog.errorStream)
ActiveMap
Server Type$ java mandala.jacob.remote.gpf.rmi.ServerRunner -help ActiveMap Help requested for ActiveMap: Properties : policy.class=class (default: mandala.rami.impl.ThreadPooledPolicy) syslog.logStream=file (default : stdout) syslog.debugStream=file (default : none) syslog.errorStream=file (default : stderr) 'class' is the fully qualified name of an AsynchronousPolicy class 'file' can be set to : stdout: meaning output should be done on the standard output stream stderr: meaning output should be done on the standard error stream none: meaning no output is desired (option unavailable for syslog.errorStream)
To implement a new protocol for the JACOb framework, although not required, implementors may use the following schema:
Exporter
interface. The class will be responsible of the exportation of
mandala core objects so they become remotely accessible using
the implemented protocol.
Client
interface. The class will be able to send MethodInvocation
to a remote
component. This component must, for each such message received, invokes
the specified method using MethodInvocation.invoke(Object)
and send
back to the Client
implementation
class the related InvocationResult
. Implementors must be
aware of the thread-safety of their implementation.
Remote*Proxy
class so subclasses use the
customized Client
implementation
class, and the Exporter
implementation instance. Moreover each Remote*Proxy
subclasses must conform to the singleton property as defined in
the mandala.rami
package.
|
|||||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |