McastService (Apache Tomcat 9.0.37 API Documentation)

org.apache.catalina.tribes.membership

## Class McastService

- java.lang.Object
- - org.apache.catalina.tribes.membership.MembershipServiceBase
  - - org.apache.catalina.tribes.membership.McastService

- All Implemented Interfaces:
    McastServiceMBean, MembershipListener, MembershipService, MessageListener

      public class McastService
      extends MembershipServiceBase
      implements MessageListener, McastServiceMBean

  A membership implementation using simple multicast. This is the representation of a multicast membership service. This class is responsible for maintaining a list of active cluster nodes in the cluster. If a node fails to send out a heartbeat, the node will be dismissed.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected byte[]` | `domain`
    `protected McastServiceImpl` | `impl` A handle to the actual low level implementation
    `protected MemberImpl` | `localMember` The local member
    `protected MessageListener` | `msglistener` A message listener delegate for broadcasts
    `protected byte[]` | `payload`
    `protected static StringManager` | `sm` The string manager for this package.

    - ### Fields inherited from class org.apache.catalina.tribes.membership.MembershipServiceBase

      `channel, listener, properties`

    - ### Fields inherited from interface org.apache.catalina.tribes.MembershipService

      `MBR_RX, MBR_TX`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `McastService()` Create a membership service.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `accept(ChannelMessage msg)`
    `void` | `broadcast(ChannelMessage message)` Broadcasts a message to all members.
    `String` | `getAddress()`
    `String` | `getBind()`
    `byte[]` | `getDomain()`
    `long` | `getDropTime()`
    `long` | `getFrequency()`
    `boolean` | `getLocalLoopbackDisabled()`
    `Member` | `getLocalMember(boolean alive)` Get the local member.
    `String` | `getLocalMemberName()`
    `MembershipProvider` | `getMembershipProvider()` Get the MembershipProvider
    `byte[]` | `getPayload()`
    `int` | `getPort()`
    `int` | `getRecoveryCounter()`
    `boolean` | `getRecoveryEnabled()`
    `long` | `getRecoverySleepTime()`
    `int` | `getSoTimeout()`
    `int` | `getTtl()`
    `protected void` | `hasProperty(Properties properties, String name)` Check if a required property is available.
    `static void` | `main(String[] args)` Simple test program
    `void` | `messageReceived(ChannelMessage msg)` Receive a message from the IO components in the Channel stack
    `void` | `removeMessageListener()`
    `void` | `setAddress(String addr)`
    `void` | `setBind(String bindaddr)`
    `protected void` | `setDefaults(Properties properties)`
    `void` | `setDomain(byte[] domain)`
    `void` | `setDomain(String domain)`
    `void` | `setDropTime(long time)`
    `void` | `setFrequency(long time)`
    `void` | `setLocalLoopbackDisabled(boolean localLoopbackDisabled)`
    `void` | `setLocalMemberProperties(String listenHost, int listenPort, int securePort, int udpPort)` Sets the local member properties for broadcasting.
    `void` | `setMcastBindAddress(String bindaddr)`
    `void` | `setMcastDropTime(long time)`
    `void` | `setMessageListener(MessageListener listener)`
    `void` | `setPayload(byte[] payload)` Set a payload to be broadcasted with each membership broadcast.
    `void` | `setPort(int port)`
    `void` | `setProperties(Properties properties)` Sets the properties for the membership service.
    `void` | `setRecoveryCounter(int recoveryCounter)`
    `void` | `setRecoveryEnabled(boolean recoveryEnabled)`
    `void` | `setRecoverySleepTime(long recoverySleepTime)`
    `void` | `setSoTimeout(int mcastSoTimeout)`
    `void` | `setTtl(int mcastTTL)`
    `void` | `start(int level)` Starts the membership service.
    `void` | `stop(int svc)` Stop broadcasting and listening to membership pings

    - ### Methods inherited from class org.apache.catalina.tribes.membership.MembershipServiceBase

      `findMemberByName, getChannel, getMember, getMembers, getMembersByName, getProperties, hasMembers, memberAdded, memberDisappeared, removeMembershipListener, setChannel, setMembershipListener, start`

    - ### 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.membership.McastServiceMBean

      `findMemberByName, getMembersByName, getProperties, hasMembers`

- - ### Field Detail

    - #### sm

          protected static final StringManager sm

      The string manager for this package.

    - #### impl

          protected McastServiceImpl impl

      A handle to the actual low level implementation

    - #### msglistener

          protected MessageListener msglistener

      A message listener delegate for broadcasts

    - #### localMember

          protected MemberImpl localMember

      The local member

    - #### payload

          protected byte[] payload

    - #### domain

          protected byte[] domain

  - ### Constructor Detail

    - #### McastService

          public McastService()

      Create a membership service.

  - ### Method Detail

    - #### setProperties

          public void setProperties(Properties properties)

      Sets the properties for the membership service.
      Specified by:
        `setProperties` in interface `MembershipService`
      Overrides:
        `setProperties` in class `MembershipServiceBase`
      Parameters:
        `properties` -
        All are required
        1. mcastPort - the port to listen to
        2. mcastAddress - the mcast group address
        4. bindAddress - the bind address if any - only one that can be null
        5. memberDropTime - the time a member is gone before it is considered gone.
        6. mcastFrequency - the frequency of sending messages
        7. tcpListenPort - the port this member listens to
        8. tcpListenHost - the bind address of this member
      Throws:
        `IllegalArgumentException` - if a property is missing.

    - #### getLocalMemberName

          public String getLocalMemberName()

      Specified by:
        `getLocalMemberName` in interface `McastServiceMBean`
      Returns:
        the local member name

    - #### getLocalMember

          public Member getLocalMember(boolean alive)

      Get the local member.
      Specified by:
        `getLocalMember` in interface `MembershipService`
      Parameters:
        `alive` - `true` to set the alive time on the local member
      Returns:
        the member object that defines this member

    - #### setLocalMemberProperties

          public void setLocalMemberProperties(String listenHost,
                                               int listenPort,
                                               int securePort,
                                               int udpPort)

      Sets the local member properties for broadcasting.
      Specified by:
        `setLocalMemberProperties` in interface `MembershipService`
      Parameters:
        `listenHost` - Listen to host
        `listenPort` - Listen to port
        `securePort` - Use a secure port
        `udpPort` - Use UDP

    - #### setAddress

          public void setAddress(String addr)

    - #### getAddress

          public String getAddress()

      Specified by:
        `getAddress` in interface `McastServiceMBean`

    - #### setMcastBindAddress

          public void setMcastBindAddress(String bindaddr)

    - #### setBind

          public void setBind(String bindaddr)

    - #### getBind

          public String getBind()

      Specified by:
        `getBind` in interface `McastServiceMBean`

    - #### setPort

          public void setPort(int port)

    - #### setRecoveryCounter

          public void setRecoveryCounter(int recoveryCounter)

    - #### getRecoveryCounter

          public int getRecoveryCounter()

      Specified by:
        `getRecoveryCounter` in interface `McastServiceMBean`

    - #### setRecoveryEnabled

          public void setRecoveryEnabled(boolean recoveryEnabled)

    - #### getRecoveryEnabled

          public boolean getRecoveryEnabled()

      Specified by:
        `getRecoveryEnabled` in interface `McastServiceMBean`

    - #### setRecoverySleepTime

          public void setRecoverySleepTime(long recoverySleepTime)

    - #### getRecoverySleepTime

          public long getRecoverySleepTime()

      Specified by:
        `getRecoverySleepTime` in interface `McastServiceMBean`

    - #### setLocalLoopbackDisabled

          public void setLocalLoopbackDisabled(boolean localLoopbackDisabled)

    - #### getLocalLoopbackDisabled

          public boolean getLocalLoopbackDisabled()

      Specified by:
        `getLocalLoopbackDisabled` in interface `McastServiceMBean`

    - #### getPort

          public int getPort()

      Specified by:
        `getPort` in interface `McastServiceMBean`

    - #### setFrequency

          public void setFrequency(long time)

    - #### getFrequency

          public long getFrequency()

      Specified by:
        `getFrequency` in interface `McastServiceMBean`

    - #### setMcastDropTime

          public void setMcastDropTime(long time)

    - #### setDropTime

          public void setDropTime(long time)

    - #### getDropTime

          public long getDropTime()

      Specified by:
        `getDropTime` in interface `McastServiceMBean`

    - #### hasProperty

          protected void hasProperty(Properties properties,
                                     String name)

      Check if a required property is available.
      Parameters:
        `properties` - The set of properties
        `name` - The property to check for

    - #### start

          public void start(int level)
                     throws Exception

      Description copied from interface: `MembershipService`
      Starts the membership service. If a membership listeners is added the listener will start to receive membership events.
      Specified by:
        `start` in interface `MembershipService`
      Parameters:
        `level` - - level MBR_RX starts listening for members, level MBR_TX starts broad casting the server
      Throws:
        `Exception` - if the service fails to start.
        `IllegalArgumentException` - if the level is incorrect.

    - #### stop

          public void stop(int svc)

      Stop broadcasting and listening to membership pings
      Specified by:
        `stop` in interface `MembershipService`
      Parameters:
        `svc` - - level MBR_RX stops listening for members, level MBR_TX stops broad casting the server

    - #### setMessageListener

          public void setMessageListener(MessageListener listener)

    - #### removeMessageListener

          public void removeMessageListener()

    - #### messageReceived

          public void messageReceived(ChannelMessage msg)

      Description copied from interface: `MessageListener`
      Receive a message from the IO components in the Channel stack
      Specified by:
        `messageReceived` in interface `MessageListener`
      Parameters:
        `msg` - ChannelMessage

    - #### accept

          public boolean accept(ChannelMessage msg)

      Specified by:
        `accept` in interface `MessageListener`

    - #### broadcast

          public void broadcast(ChannelMessage message)
                         throws ChannelException

      Description copied from interface: `MembershipService`
      Broadcasts a message to all members.
      Specified by:
        `broadcast` in interface `MembershipService`
      Overrides:
        `broadcast` in class `MembershipServiceBase`
      Parameters:
        `message` - The message to broadcast
      Throws:
        `ChannelException` - Message broadcast failed

    - #### getSoTimeout

          public int getSoTimeout()

      Specified by:
        `getSoTimeout` in interface `McastServiceMBean`

    - #### setSoTimeout

          public void setSoTimeout(int mcastSoTimeout)

    - #### getTtl

          public int getTtl()

      Specified by:
        `getTtl` in interface `McastServiceMBean`

    - #### getPayload

          public byte[] getPayload()

    - #### getDomain

          public byte[] getDomain()

      Specified by:
        `getDomain` in interface `McastServiceMBean`

    - #### setTtl

          public void setTtl(int mcastTTL)

    - #### setPayload

          public void setPayload(byte[] payload)

      Description copied from interface: `MembershipService`
      Set a payload to be broadcasted with each membership broadcast.
      Specified by:
        `setPayload` in interface `MembershipService`
      Parameters:
        `payload` - byte[]

    - #### setDomain

          public void setDomain(byte[] domain)

      Specified by:
        `setDomain` in interface `MembershipService`

    - #### setDomain

          public void setDomain(String domain)

    - #### getMembershipProvider

          public MembershipProvider getMembershipProvider()

      Description copied from interface: `MembershipService`
      Get the MembershipProvider
      Specified by:
        `getMembershipProvider` in interface `MembershipService`
      Returns:
        MembershipProvider

    - #### setDefaults

          protected void setDefaults(Properties properties)

    - #### main

          public static void main(String[] args)
                           throws Exception

      Simple test program
      Parameters:
        `args` - Command-line arguments
      Throws:
        `Exception` - If an error occurs

Copyright © 2000-2020 Apache Software Foundation. All Rights Reserved.