|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.jgroups.stack.GossipRouter
Router for TCP based group comunication (using layer TCP instead of UDP). Instead of the TCP layer sending packets point-to-point to each other member, it sends the packet to the router which - depending on the target address - multicasts or unicasts it to the group / or single member.
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.
Field Summary | |
static int |
DUMP
|
static long |
EXPIRY_TIME
|
static int |
GET
|
static long |
GOSSIP_REQUEST_TIMEOUT
|
protected org.apache.commons.logging.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,
java.lang.String bindAddressString)
|
|
GossipRouter(int port,
java.lang.String bindAddressString,
long expiryTime)
|
|
GossipRouter(int port,
java.lang.String bindAddressString,
long expiryTime,
long gossipRequestTimeout,
long routingClientReplyTimeout)
|
Method Summary | |
void |
create()
JBoss MBean lifecycle operation. |
void |
destroy()
JBoss MBean lifecycle operation. |
java.lang.String |
dumpGossipTable()
|
java.lang.String |
dumpRoutingTable()
|
java.lang.String |
getBindAddress()
|
long |
getExpiryTime()
|
long |
getGossipRequestTimeout()
|
int |
getPort()
|
long |
getRoutingClientReplyTimeout()
|
boolean |
isStarted()
|
static void |
main(java.lang.String[] args)
|
static java.lang.String |
requestTypeToString(int type)
|
void |
setBindAddress(java.lang.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. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static final int GET
public static final int REGISTER
public static final int DUMP
public static final int SHUTDOWN
public static final int SHUTDOWN_OK
public static final int PORT
public static final long EXPIRY_TIME
public static final long GOSSIP_REQUEST_TIMEOUT
public static final long ROUTING_CLIENT_REPLY_TIMEOUT
protected final org.apache.commons.logging.Log log
Constructor Detail |
public GossipRouter()
public GossipRouter(int port)
public GossipRouter(int port, java.lang.String bindAddressString)
public GossipRouter(int port, java.lang.String bindAddressString, long expiryTime)
public GossipRouter(int port, java.lang.String bindAddressString, long expiryTime, long gossipRequestTimeout, long routingClientReplyTimeout)
Method Detail |
public void setPort(int port)
public int getPort()
public void setBindAddress(java.lang.String bindAddress)
public java.lang.String getBindAddress()
public void setExpiryTime(long expiryTime)
public long getExpiryTime()
public void setGossipRequestTimeout(long gossipRequestTimeout)
public long getGossipRequestTimeout()
public void setRoutingClientReplyTimeout(long routingClientReplyTimeout)
public long getRoutingClientReplyTimeout()
public boolean isStarted()
public void create() throws java.lang.Exception
java.lang.Exception
public void start() throws java.lang.Exception
java.lang.Exception
public void stop()
public void destroy()
public java.lang.String dumpRoutingTable()
public java.lang.String dumpGossipTable()
public static java.lang.String requestTypeToString(int type)
public static void main(java.lang.String[] args) throws java.lang.Exception
java.lang.Exception
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |