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.
  • Field Details

    • 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

    • cnt

      protected static final AtomicInteger cnt
  • Constructor Details

    • TcpPingInterceptor

      public TcpPingInterceptor()
  • Method Details

    • start

      public void start(int svc) throws ChannelException
      Description copied from interface: ChannelInterceptor
      Starts 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:
      start in interface ChannelInterceptor
      Overrides:
      start in class ChannelInterceptorBase
      Parameters:
      svc - int value of
      Channel.DEFAULT - will start all services
      Channel.MBR_RX_SEQ - starts the membership receiver
      Channel.MBR_TX_SEQ - starts the membership broadcaster
      Channel.SND_TX_SEQ - starts the replication transmitter
      Channel.SND_RX_SEQ - starts the replication receiver
      Throws:
      ChannelException - if a startup error occurs or the service is already started.
      See Also:
    • stop

      public void stop(int svc) throws ChannelException
      Description copied from interface: ChannelInterceptor
      Shuts 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:
      stop in interface ChannelInterceptor
      Overrides:
      stop in class ChannelInterceptorBase
      Parameters:
      svc - int value of
      Channel.DEFAULT - will shutdown all services
      Channel.MBR_RX_SEQ - stops the membership receiver
      Channel.MBR_TX_SEQ - stops the membership broadcaster
      Channel.SND_TX_SEQ - stops the replication transmitter
      Channel.SND_RX_SEQ - stops the replication receiver
      Throws:
      ChannelException - if a startup error occurs or the service is already started.
      See Also:
    • heartbeat

      public void heartbeat()
      Description copied from interface: ChannelInterceptor
      The heartbeat() 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:
      heartbeat in interface ChannelInterceptor
      Specified by:
      heartbeat in interface Heartbeat
      Overrides:
      heartbeat in class ChannelInterceptorBase
    • getInterval

      public long getInterval()
      Specified by:
      getInterval in interface TcpPingInterceptorMBean
    • setInterval

      public void setInterval(long interval)
    • setUseThread

      public void setUseThread(boolean useThread)
    • setStaticOnly

      public void setStaticOnly(boolean staticOnly)
    • getUseThread

      public boolean getUseThread()
      Specified by:
      getUseThread in interface TcpPingInterceptorMBean
    • getStaticOnly

      public boolean getStaticOnly()
    • sendPing

      protected void sendPing()
    • sendPingMessage

      protected void sendPingMessage(Member[] members)
    • messageReceived

      public void messageReceived(ChannelMessage msg)
      Description copied from interface: ChannelInterceptor
      the messageReceived is invoked when a message is received. ChannelMessage.getAddress() is the sender, or the reply-to address if it has been overwritten.
      Specified by:
      messageReceived in interface ChannelInterceptor
      Overrides:
      messageReceived in class ChannelInterceptorBase
      Parameters:
      msg - ChannelMessage