McastService (Apache Tomcat 10.0.20 API Documentation)

Package 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 | 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 | Description
    --- | ---
    `McastService()` | Create a membership service.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | 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