Entry and EntryRep
Every JavaSpace consists solely of entries, which are represented by
instances of the Entry
class. An entry is a group
of object references, which represent the fields in the
Entry
. When an entry is added to a JavaSpace,
the entry is stored in serialized form by independently serializing
each field in the Entry
. Because of this, every
field in an entry has to be public, has to be
Serializable
, and has to be an
Object
(not a primitive type).
EntryRep
s act as the conduit for
Entry
s into and out of JavaSpaces. They
serialize Entry
s before going into a JavaSpace
during a write
operation, and de-serialize
Entry
s returned as the result of
read
, take
, or
notify
operations. A given
EntryRep
can be written multiple times to the
same JavaSpace, which would result in multiple identical entries in
the space.
EntryRep
s are used to specify JavaSpace entries
in read
or take
operations.
A client creates an Entry
with the values and
wildcards that it wants to match in a JavaSpace. Then it wraps it in
an EntryRep
, which generates the serialized form
of the template Entry
and passes it to the
JavaSpace as an argument of the operation. The JavaSpace compares the
serialized bytes of the template Entry
to its
own Entry
s, and matches on the first one whose
serialized bytes are the same as those of the non-null fields in the
template Entry
.
Another benefit of serializing each field of an
Entry
independently is that it allows for fault-tolerant retrieval of entries from the space. If ...
Get Java Distributed Computing now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.