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).
EntryReps act as the conduit for
Entrys into and out of JavaSpaces. They
serialize Entrys before going into a JavaSpace
during a write operation, and de-serialize
Entrys 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.
EntryReps 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 Entrys, 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 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access