Class StaticMembershipService

java.lang.Object
org.apache.catalina.tribes.membership.MembershipServiceBase
org.apache.catalina.tribes.membership.StaticMembershipService
All Implemented Interfaces:
StaticMembershipServiceMBean, MembershipListener, MembershipService

public class StaticMembershipService extends MembershipServiceBase implements StaticMembershipServiceMBean
Service that manages static membership for a cluster channel.
  • Field Details

    • sm

      protected static final StringManager sm
      String manager for this class.
    • staticMembers

      protected final ArrayList<StaticMember> staticMembers
      List of static members configured for this service.
  • Constructor Details

    • StaticMembershipService

      public StaticMembershipService()
      Default constructor.
  • Method Details

    • 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 broadcasting the server
      Throws:
      Exception - if the service fails to start.
    • buildMembershipProvider

      protected StaticMembershipProvider buildMembershipProvider() throws Exception
      Builds and configures the membership provider.
      Returns:
      the configured membership provider
      Throws:
      Exception - if initialization fails
    • stop

      public void stop(int level)
      Description copied from interface: MembershipService
      Stops the membership service. If a membership listeners is added the listener will start to receive membership events.
      Specified by:
      stop in interface MembershipService
      Parameters:
      level - - level MBR_RX stops listening for members, level MBR_TX stops broadcasting the server
    • getLocalMember

      public Member getLocalMember(boolean incAliveTime)
      Description copied from interface: MembershipService
      Get the local member.
      Specified by:
      getLocalMember in interface MembershipService
      Parameters:
      incAliveTime - 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)
      Description copied from interface: MembershipService
      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
    • 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)
      Description copied from interface: MembershipService
      Set the associated domain.
      Specified by:
      setDomain in interface MembershipService
      Parameters:
      domain - the domain
    • getMembershipProvider

      public MembershipProvider getMembershipProvider()
      Description copied from interface: MembershipService
      Get the MembershipProvider
      Specified by:
      getMembershipProvider in interface MembershipService
      Returns:
      MembershipProvider
    • getStaticMembers

      public ArrayList<StaticMember> getStaticMembers()
      Returns the list of static members.
      Returns:
      the static members list
    • addStaticMember

      public void addStaticMember(StaticMember member)
      Adds a static member to the cluster.
      Parameters:
      member - the member to add
    • removeStaticMember

      public void removeStaticMember(StaticMember member)
      Removes a static member from the cluster.
      Parameters:
      member - the member to remove
    • setLocalMember

      public void setLocalMember(StaticMember member)
      Sets the local member for this service.
      Parameters:
      member - the local member
    • getExpirationTime

      public long getExpirationTime()
      Description copied from interface: StaticMembershipServiceMBean
      Returns the member expiration time in milliseconds.
      Specified by:
      getExpirationTime in interface StaticMembershipServiceMBean
      Returns:
      the expiration time
    • setExpirationTime

      public void setExpirationTime(long expirationTime)
      Sets the member expiration time in milliseconds.
      Parameters:
      expirationTime - the expiration time
    • getConnectTimeout

      public int getConnectTimeout()
      Description copied from interface: StaticMembershipServiceMBean
      Returns the connection timeout in milliseconds.
      Specified by:
      getConnectTimeout in interface StaticMembershipServiceMBean
      Returns:
      the connection timeout
    • setConnectTimeout

      public void setConnectTimeout(int connectTimeout)
      Sets the connection timeout in milliseconds.
      Parameters:
      connectTimeout - the connection timeout
    • getRpcTimeout

      public long getRpcTimeout()
      Description copied from interface: StaticMembershipServiceMBean
      Returns the RPC timeout in milliseconds.
      Specified by:
      getRpcTimeout in interface StaticMembershipServiceMBean
      Returns:
      the RPC timeout
    • setRpcTimeout

      public void setRpcTimeout(long rpcTimeout)
      Sets the RPC timeout in milliseconds.
      Parameters:
      rpcTimeout - the RPC timeout
    • getUseThread

      public boolean getUseThread()
      Description copied from interface: StaticMembershipServiceMBean
      Returns whether a background ping thread is in use.
      Specified by:
      getUseThread in interface StaticMembershipServiceMBean
      Returns:
      true if a background thread is used
    • setUseThread

      public void setUseThread(boolean useThread)
      Sets whether to use a background thread for pinging.
      Parameters:
      useThread - true to use a background thread
    • getPingInterval

      public long getPingInterval()
      Description copied from interface: StaticMembershipServiceMBean
      Returns the ping interval in milliseconds.
      Specified by:
      getPingInterval in interface StaticMembershipServiceMBean
      Returns:
      the ping interval
    • setPingInterval

      public void setPingInterval(long pingInterval)
      Sets the ping interval in milliseconds.
      Parameters:
      pingInterval - the ping interval
    • setProperties

      public void setProperties(Properties properties)
      Description copied from interface: MembershipService
      Sets the properties for the membership service. This must be called before the start() method is called. The properties are implementation specific.
      Specified by:
      setProperties in interface MembershipService
      Overrides:
      setProperties in class MembershipServiceBase
      Parameters:
      properties - - to be used to configure the membership service.
    • setDefaults

      protected void setDefaults(Properties properties)
      Sets default property values.
      Parameters:
      properties - the properties to configure