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 List<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 listener is added the listener will stop receiving 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 a copy of the list of static members. Mutating the returned list has no effect on this service. The configured list is safe to modify while the provider runs, so use addStaticMember(StaticMember) and removeStaticMember(StaticMember) to change it.
      Returns:
      a copy of 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)
      Sets the properties for this service. The values are read when the membership provider is built, as the service starts. Replacing the properties while the service runs therefore has no effect on the running provider. It keeps the values it started with until the service is fully stopped and started again, even though the attribute getters of the service report the new values.
      Specified by:
      setProperties in interface MembershipService
      Overrides:
      setProperties in class MembershipServiceBase
      Parameters:
      properties - the new configuration
    • setDefaults

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