Class GossipRouter
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
- Version:
- $Id: GossipRouter.java,v 1.26.2.9 2009/02/12 20:05:54 vlada Exp $
- Author:
- Bela Ban, Ovidiu Feodorov invalid input: '<'ovidiuf@users.sourceforge.net>
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final byteprotected ThreadFactorystatic final bytestatic final bytestatic final longstatic final bytestatic final bytestatic final longprotected final org.apache.commons.logging.Logstatic final intstatic final bytestatic final bytestatic final longstatic final byteprotected ExecutorServiceprotected booleanprotected longprotected intprotected intprotected BlockingQueue<Runnable> protected booleanprotected intprotected Stringprotected Timerstatic final byte -
Constructor Summary
ConstructorsConstructorDescriptionGossipRouter(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) Creates a gossip router on a given port bound to a specified interface and an expiry time (in msecs) until a cached 'gossip' member entry expires. -
Method Summary
Modifier and TypeMethodDescriptionvoidcreate()JBoss MBean lifecycle operation.protected ExecutorServicecreateThreadPool(int min_threads, int max_threads, long keep_alive_time, String rejection_policy, BlockingQueue<Runnable> queue, ThreadFactory factory) voiddestroy()JBoss MBean lifecycle operation.intlonglongDeprecated.longintgetPort()longDeprecated.longlongintintintbooleanbooleanbooleanbooleanstatic voidvoidsetBacklog(int backlog) voidsetBindAddress(String bindAddress) voidvoidsetDiscardLoopbacks(boolean discard_loopbacks) voidsetExpiryTime(long expiryTime) voidsetGossipRequestTimeout(long gossipRequestTimeout) Deprecated.voidsetLingerTimeout(long linger_timeout) voidsetPort(int port) voidsetRoutingClientReplyTimeout(long routingClientReplyTimeout) Deprecated.voidsetSocketReadTimeout(long sock_read_timeout) voidsetThreadPoolEnabled(boolean thread_pool_enabled) voidsetThreadPoolKeepAliveTime(long thread_pool_keep_alive_time) voidsetThreadPoolMaxThreads(int thread_pool_max_threads) voidsetThreadPoolMinThreads(int thread_pool_min_threads) voidsetThreadPoolQueueEnabled(boolean thread_pool_queue_enabled) voidsetThreadPoolQueueMaxSize(int thread_pool_queue_max_size) voidsetThreadPoolRejectionPolicy(String thread_pool_rejection_policy) voidstart()JBoss MBean lifecycle operation.voidstop()JBoss MBean lifecycle operation.static Stringtype2String(int type)
-
Field Details
-
CONNECT
public static final byte CONNECT- See Also:
-
DISCONNECT
public static final byte DISCONNECT- See Also:
-
REGISTER
public static final byte REGISTER- See Also:
-
GOSSIP_GET
public static final byte GOSSIP_GET- See Also:
-
ROUTER_GET
public static final byte ROUTER_GET- See Also:
-
GET_RSP
public static final byte GET_RSP- See Also:
-
UNREGISTER
public static final byte UNREGISTER- See Also:
-
DUMP
public static final byte DUMP- See Also:
-
SHUTDOWN
public static final byte SHUTDOWN- See Also:
-
PORT
public static final int PORT- See Also:
-
EXPIRY_TIME
public static final long EXPIRY_TIME- See Also:
-
GOSSIP_REQUEST_TIMEOUT
public static final long GOSSIP_REQUEST_TIMEOUT- See Also:
-
ROUTING_CLIENT_REPLY_TIMEOUT
public static final long ROUTING_CLIENT_REPLY_TIMEOUT- See Also:
-
thread_pool_min_threads
protected int thread_pool_min_threads -
thread_pool_max_threads
protected int thread_pool_max_threads -
thread_pool_keep_alive_time
protected long thread_pool_keep_alive_time -
thread_pool_enabled
protected boolean thread_pool_enabled -
thread_pool_queue_enabled
protected boolean thread_pool_queue_enabled -
thread_pool_queue_max_size
protected int thread_pool_queue_max_size -
thread_pool_rejection_policy
-
thread_pool
-
thread_pool_queue
-
default_thread_factory
-
timer
-
log
protected final org.apache.commons.logging.Log log
-
-
Constructor Details
-
GossipRouter
public GossipRouter() -
GossipRouter
public GossipRouter(int port) -
GossipRouter
-
GossipRouter
-
GossipRouter
public GossipRouter(int port, String bindAddressString, long expiryTime, long gossipRequestTimeout, long routingClientReplyTimeout) Creates a gossip router on a given port bound to a specified interface and an expiry time (in msecs) until a cached 'gossip' member entry expires.Remaining two parameters are deprecated and not used.
- Parameters:
port-bindAddressString-expiryTime-gossipRequestTimeout-routingClientReplyTimeout-
-
-
Method Details
-
setPort
public void setPort(int port) -
getPort
public int getPort() -
setBindAddress
-
getBindAddress
-
getBacklog
public int getBacklog() -
setBacklog
public void setBacklog(int backlog) -
setExpiryTime
public void setExpiryTime(long expiryTime) -
getExpiryTime
public long getExpiryTime() -
setGossipRequestTimeout
Deprecated. -
getGossipRequestTimeout
Deprecated. -
setRoutingClientReplyTimeout
Deprecated. -
getRoutingClientReplyTimeout
Deprecated. -
isStarted
public boolean isStarted() -
isDiscardLoopbacks
public boolean isDiscardLoopbacks() -
setDiscardLoopbacks
public void setDiscardLoopbacks(boolean discard_loopbacks) -
getLingerTimeout
public long getLingerTimeout() -
setLingerTimeout
public void setLingerTimeout(long linger_timeout) -
getSocketReadTimeout
public long getSocketReadTimeout() -
setSocketReadTimeout
public void setSocketReadTimeout(long sock_read_timeout) -
getDefaultThreadPoolThreadFactory
-
setDefaultThreadPoolThreadFactory
-
getThreadPoolMinThreads
public int getThreadPoolMinThreads() -
setThreadPoolMinThreads
public void setThreadPoolMinThreads(int thread_pool_min_threads) -
getThreadPoolMaxThreads
public int getThreadPoolMaxThreads() -
setThreadPoolMaxThreads
public void setThreadPoolMaxThreads(int thread_pool_max_threads) -
getThreadPoolKeepAliveTime
public long getThreadPoolKeepAliveTime() -
setThreadPoolKeepAliveTime
public void setThreadPoolKeepAliveTime(long thread_pool_keep_alive_time) -
isThreadPoolEnabled
public boolean isThreadPoolEnabled() -
setThreadPoolEnabled
public void setThreadPoolEnabled(boolean thread_pool_enabled) -
isThreadPoolQueueEnabled
public boolean isThreadPoolQueueEnabled() -
setThreadPoolQueueEnabled
public void setThreadPoolQueueEnabled(boolean thread_pool_queue_enabled) -
getThreadPoolQueueMaxSize
public int getThreadPoolQueueMaxSize() -
setThreadPoolQueueMaxSize
public void setThreadPoolQueueMaxSize(int thread_pool_queue_max_size) -
getThreadPoolRejectionPolicy
-
setThreadPoolRejectionPolicy
-
type2String
-
create
-
start
-
stop
public void stop()JBoss MBean lifecycle operation. The JMX agent allways calls this method before destroy(). Close connections and frees resources. -
destroy
public void destroy()JBoss MBean lifecycle operation. -
dumpRoutingTable
-
createThreadPool
protected ExecutorService createThreadPool(int min_threads, int max_threads, long keep_alive_time, String rejection_policy, BlockingQueue<Runnable> queue, ThreadFactory factory) -
main
-