Class TcpPingInterceptor
- java.lang.Object
-
- org.apache.catalina.tribes.group.ChannelInterceptorBase
-
- org.apache.catalina.tribes.group.interceptors.TcpPingInterceptor
-
- All Implemented Interfaces:
ChannelInterceptor,TcpPingInterceptorMBean,Heartbeat,MembershipListener
public class TcpPingInterceptor extends ChannelInterceptorBase implements TcpPingInterceptorMBean
Sends a ping to all members. Configure this interceptor with the TcpFailureDetector below it, and the TcpFailureDetector will act as the membership guide.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected classTcpPingInterceptor.PingThread-
Nested classes/interfaces inherited from interface org.apache.catalina.tribes.ChannelInterceptor
ChannelInterceptor.InterceptorEvent
-
-
Field Summary
Fields Modifier and Type Field Description protected static AtomicIntegercntprotected longintervalprotected booleanrunningprotected static StringManagersmprotected booleanstaticOnlyprotected static byte[]TCP_PING_DATAprotected TcpPingInterceptor.PingThreadthreadprotected booleanuseThread-
Fields inherited from class org.apache.catalina.tribes.group.ChannelInterceptorBase
optionFlag
-
-
Constructor Summary
Constructors Constructor Description TcpPingInterceptor()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description longgetInterval()booleangetStaticOnly()booleangetUseThread()voidheartbeat()Theheartbeat()method gets invoked periodically to allow interceptors to clean up resources, time out object and perform actions that are unrelated to sending/receiving data.voidmessageReceived(ChannelMessage msg)themessageReceivedis invoked when a message is received.protected voidsendPing()protected voidsendPingMessage(Member[] members)voidsetInterval(long interval)voidsetStaticOnly(boolean staticOnly)voidsetUseThread(boolean useThread)voidstart(int svc)Starts up the channel.voidstop(int svc)Shuts down the channel.-
Methods inherited from class org.apache.catalina.tribes.group.ChannelInterceptorBase
fireInterceptorEvent, getChannel, getLocalMember, getMember, getMembers, getNext, getOptionFlag, getPrevious, hasMembers, memberAdded, memberDisappeared, okToProcess, sendMessage, setChannel, setNext, setOptionFlag, setPrevious
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.catalina.tribes.group.interceptors.TcpPingInterceptorMBean
getOptionFlag
-
-
-
-
Field Detail
-
sm
protected static final StringManager sm
-
TCP_PING_DATA
protected static final byte[] TCP_PING_DATA
-
interval
protected long interval
-
useThread
protected boolean useThread
-
staticOnly
protected boolean staticOnly
-
running
protected volatile boolean running
-
thread
protected TcpPingInterceptor.PingThread thread
-
cnt
protected static final AtomicInteger cnt
-
-
Method Detail
-
start
public void start(int svc) throws ChannelExceptionDescription copied from class:ChannelInterceptorBaseStarts up the channel. This can be called multiple times for individual services to start The svc parameter can be the logical or value of any constants- Specified by:
startin interfaceChannelInterceptor- Overrides:
startin classChannelInterceptorBase- Parameters:
svc- int value of
DEFAULT - will start all services
MBR_RX_SEQ - starts the membership receiver
MBR_TX_SEQ - starts the membership broadcaster
SND_TX_SEQ - starts the replication transmitter
SND_RX_SEQ - starts the replication receiver- Throws:
ChannelException- if a startup error occurs or the service is already started.- See Also:
Channel
-
stop
public void stop(int svc) throws ChannelExceptionDescription copied from class:ChannelInterceptorBaseShuts down the channel. This can be called multiple times for individual services to shutdown The svc parameter can be the logical or value of any constants- Specified by:
stopin interfaceChannelInterceptor- Overrides:
stopin classChannelInterceptorBase- Parameters:
svc- int value of
DEFAULT - will shutdown all services
MBR_RX_SEQ - stops the membership receiver
MBR_TX_SEQ - stops the membership broadcaster
SND_TX_SEQ - stops the replication transmitter
SND_RX_SEQ - stops the replication receiver- Throws:
ChannelException- if a startup error occurs or the service is already started.- See Also:
Channel
-
heartbeat
public void heartbeat()
Description copied from interface:ChannelInterceptorTheheartbeat()method gets invoked periodically to allow interceptors to clean up resources, time out object and perform actions that are unrelated to sending/receiving data.- Specified by:
heartbeatin interfaceChannelInterceptor- Specified by:
heartbeatin interfaceHeartbeat- Overrides:
heartbeatin classChannelInterceptorBase
-
getInterval
public long getInterval()
- Specified by:
getIntervalin interfaceTcpPingInterceptorMBean
-
setInterval
public void setInterval(long interval)
-
setUseThread
public void setUseThread(boolean useThread)
-
setStaticOnly
public void setStaticOnly(boolean staticOnly)
-
getUseThread
public boolean getUseThread()
- Specified by:
getUseThreadin interfaceTcpPingInterceptorMBean
-
getStaticOnly
public boolean getStaticOnly()
-
sendPing
protected void sendPing()
-
sendPingMessage
protected void sendPingMessage(Member[] members)
-
messageReceived
public void messageReceived(ChannelMessage msg)
Description copied from interface:ChannelInterceptorthemessageReceivedis invoked when a message is received.ChannelMessage.getAddress()is the sender, or the reply-to address if it has been overwritten.- Specified by:
messageReceivedin interfaceChannelInterceptor- Overrides:
messageReceivedin classChannelInterceptorBase- Parameters:
msg- ChannelMessage
-
-