org.jgroups.stack
public class GossipRouter extends Object
This class is especially interesting for applets which cannot directly make connections (neither UDP nor TCP) to a host different from the one they were loaded from. Therefore, an applet would create a normal channel plus protocol stack, but the bottom layer would have to be the TCP layer which sends all packets point-to-point (over a TCP connection) to the router, which in turn forwards them to their end location(s) (also over TCP). A centralized router would therefore have to be running on the host the applet was loaded from.
An alternative for running JGroups in an applet (IP multicast is not allows in applets as of 1.2), is to use point-to-point UDP communication via the gossip server. However, then the appplet has to be signed which involves additional administrative effort on the part of the user.
Since 2.1.1 the GossipRouter is also able to answer Gossip requests. Instead of running different Router and GossipServer processes, is enough just to run a single GossipRouter. This should simplify the administration of a JG realm that has needs gossip and routing services.
Since: 2.1.1
Field Summary | |
---|---|
static int | DUMP |
static long | EXPIRY_TIME |
static int | GET |
static long | GOSSIP_REQUEST_TIMEOUT |
protected Log | log |
static int | PORT |
static int | REGISTER |
static long | ROUTING_CLIENT_REPLY_TIMEOUT |
static int | SHUTDOWN |
static int | SHUTDOWN_OK |
Constructor Summary | |
---|---|
GossipRouter() | |
GossipRouter(int port) | |
GossipRouter(int port, String bindAddressString) | |
GossipRouter(int port, String bindAddressString, long expiryTime) | |
GossipRouter(int port, String bindAddressString, long expiryTime, long gossipRequestTimeout, long routingClientReplyTimeout) |
Method Summary | |
---|---|
void | create()
JBoss MBean lifecycle operation.
|
void | destroy()
JBoss MBean lifecycle operation.
|
String | dumpGossipTable() |
String | dumpRoutingTable() |
String | getBindAddress() |
long | getExpiryTime() |
long | getGossipRequestTimeout() |
int | getPort() |
long | getRoutingClientReplyTimeout() |
boolean | isStarted() |
static void | main(String[] args) |
static String | requestTypeToString(int type) |
void | setBindAddress(String bindAddress) |
void | setExpiryTime(long expiryTime) |
void | setGossipRequestTimeout(long gossipRequestTimeout) |
void | setPort(int port) |
void | setRoutingClientReplyTimeout(long routingClientReplyTimeout) |
void | start()
JBoss MBean lifecycle operation. |
void | stop()
JBoss MBean lifecycle operation. |