com.gemstone.gemfire.distributed.internal.membership.jgroup.package.html Maven / Gradle / Ivy
Show all versions of gemfire-core Show documentation
The membership and communication services have been abstracted
via a set of classes and a factory. This document is an introduction
to the organization of these classes.
At the lowest level is a NetMember. A NetMember is a
low-level system-independent notion of a network member. At this writing,
there is only one implementation, JGroupMember. This class is, in
itself, a simple wrapper class for
org.javagroups.stacks.IpAddress.
NetMember is intended to be implemented in the service
provider interface but not necessarily exported to the rest of the system.
In the current design, DistributedMember is the type used to
identify peers in the network.
The starting point for accessing membership services is via
MemberFactory. This class allows one to create a
NetMember using various arguments or a
MembershipManager, which handles most membership services.
MemberFactory uses pluggable instances that implement
the service provider interface MemberServices. At this
writing, there is only one implementation, JGroupMemberFactory.
A MembershipManager is the central focus for membership
activity. It includes startup and shutdown methods, requests for the
current view of members, and a method to send messages.
The current membership view in the system is via NetView,
which also includes a NetViewId, a sequential identifier
that abstracts the ViewId notion from JavaGroups.
One of the arguments to the constructor for a MembershipManager
is a DistributedMembershipListener. This listener interface
handles membership events, such as new member arrival, member departure,
and message receipt.