...
- There are serious problems with using multicast technologies on NCSA's production resource subnets.
- We do not require the full generality of JavaSpaces with respect to serializable classes; our service accepts an open-ended (i.e., basically untyped) wrapper object containing a serialized xml blob corresponding to the (which usually, but not necessarily, will implement
ncsa.tools.common.types.Configuration
objectUserFacing
) as its payload element. - We do not require the full peer-to-peer capabilities offered by Jini.
API
Service WSDL
...
ITupleSpace
Code Block |
---|
public interface IConfigurationSpaceITupleSpace { Integer write( String entryXML ) throws Throwable; Integer[] writeB( String[] entryXML ) throws Throwable; String[] read( String matchXML, int max ) throws Throwable; String[] take( String matchXML, int max, long timeout ) throws Throwable; String[] takeNB( String matchXML, int max ) throws Throwable; } |
...
write
takes a serialized string representing thencsa.service.vizier.tspace.ConfigurationEntryTspaceEntry
object (see below); returns the entry id.writeB
is a batch method which does the same thing aswrite
on multiple entries; returns array of ids corresponding to each entry.read
andtake
are batch methods, both requiring a serialized string representing thencsa.service.vizier.tspace.ConfigurationMatchRequestTspaceMatchRequest
object (see below), along with an integer indicating the maximum number of entries to return (default is 10; it is advisable not to set this number too high, as Axis will have trouble managing extremely large SOAP packets); the array returned contains serializedncsa.service.vizier.tspace.ConfigurationEntryTspaceEntry
objects.take
also requires a timeout (if set to t <= 0, the non-blocking method is called), whereastakeNB
will return immediately subsequent to issuing the request against the data store.takeNB
can returnnull
if no entries satisfy the request constraints.take
will not returnnull
unless timeout <= 0.take
may return an empty array (length 0) if its timeout has been exceeded.
ncsa.service.vizier.tspace.
...
TspaceEntry
The object stored in the service's data store and which can be retrieved through the read
or take
ports. A fuller description of the object is found on the ncsa.tools.ogrscript.tspace page.
...