org.jgroups.stack
public class GossipServer extends Object
Deprecated: Use GossipRouter instead
Maintains a cache of member addresses for each group. There are essentially 2 functions: get the members for a given group and register a new member for a given group. Clients have to periodically renew their registrations (like in JINI leasing), otherwise the cache will be cleaned periodically (oldest entries first).
The server should be running at a well-known port. This can be done by for example adding an entry to
/etc/inetd.conf on UNIX systems, e.g. gossipsrv stream tcp nowait root /bin/start-gossip-server
.
gossipsrv
has to be defined in /etc/services and start-gossip-server
is a script
which starts the GossipServer at the well-known port (define in /etc/services). The protocol between GossipServer
and GossipClient consists of REGISTER_REQ, GET_MEMBERS_REQ and GET_MEMBERS_RSP protocol data units.
The server does not spawn a thread/request, but does all of its processing on the main thread. This should not be a problem as all requests are short-lived. However, the server would essentially cease processing requests if a telnet connected to it.
Requires JDK >= 1.3 due to the use of Timer
Field Summary | |
---|---|
protected Log | log |
Constructor Summary | |
---|---|
GossipServer(int port) | |
GossipServer(int port, long expiry_time) | |
GossipServer(int port, long expiry_time, InetAddress bind_address) |
Method Summary | |
---|---|
static void | main(String[] args) |
void | run() |