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 Summary
Fields Modifier and Type Field Description protected static StringManagersmString manager for this class.protected java.util.ArrayList<StaticMember>staticMembersList of static members configured for this service.-
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 StaticMembershipService()Default constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddStaticMember(StaticMember member)Adds a static member to the cluster.protected StaticMembershipProviderbuildMembershipProvider()Builds and configures the membership provider.intgetConnectTimeout()Returns the connection timeout in milliseconds.longgetExpirationTime()Returns the member expiration time in milliseconds.MembergetLocalMember(boolean incAliveTime)Get the local member.MembershipProvidergetMembershipProvider()Get the MembershipProviderlonggetPingInterval()Returns the ping interval in milliseconds.longgetRpcTimeout()Returns the RPC timeout in milliseconds.java.util.ArrayList<StaticMember>getStaticMembers()Returns the list of static members.booleangetUseThread()Returns whether a background ping thread is in use.voidremoveStaticMember(StaticMember member)Removes a static member from the cluster.voidsetConnectTimeout(int connectTimeout)Sets the connection timeout in milliseconds.protected voidsetDefaults(java.util.Properties properties)Sets default property values.voidsetDomain(byte[] domain)Set the associated domain.voidsetExpirationTime(long expirationTime)Sets the member expiration time in milliseconds.voidsetLocalMember(StaticMember member)Sets the local member for this service.voidsetLocalMemberProperties(java.lang.String listenHost, int listenPort, int securePort, int udpPort)Sets the local member properties for broadcasting.voidsetPayload(byte[] payload)Set a payload to be broadcasted with each membership broadcast.voidsetPingInterval(long pingInterval)Sets the ping interval in milliseconds.voidsetProperties(java.util.Properties properties)Sets the properties for the membership service.voidsetRpcTimeout(long rpcTimeout)Sets the RPC timeout in milliseconds.voidsetUseThread(boolean useThread)Sets whether to use a background thread for pinging.voidstart(int level)Starts the membership service.voidstop(int level)Stops the membership service.-
Methods inherited from class org.apache.catalina.tribes.membership.MembershipServiceBase
broadcast, 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.StaticMembershipServiceMBean
findMemberByName, getMembersByName, getProperties, hasMembers
-
-
-
-
Field Detail
-
sm
protected static final StringManager sm
String manager for this class.
-
staticMembers
protected final java.util.ArrayList<StaticMember> staticMembers
List of static members configured for this service.
-
-
Method Detail
-
start
public void start(int level) throws java.lang.ExceptionDescription copied from interface:MembershipServiceStarts the membership service. If a membership listeners is added the listener will start to receive membership events.- Specified by:
startin interfaceMembershipService- Parameters:
level- - level MBR_RX starts listening for members, level MBR_TX starts broadcasting the server- Throws:
java.lang.Exception- if the service fails to start.java.lang.IllegalArgumentException- if the level is incorrect.
-
buildMembershipProvider
protected StaticMembershipProvider buildMembershipProvider() throws java.lang.Exception
Builds and configures the membership provider.- Returns:
- the configured membership provider
- Throws:
java.lang.Exception- if initialization fails
-
stop
public void stop(int level)
Description copied from interface:MembershipServiceStops the membership service. If a membership listeners is added the listener will start to receive membership events.- Specified by:
stopin interfaceMembershipService- 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:MembershipServiceGet the local member.- Specified by:
getLocalMemberin interfaceMembershipService- Parameters:
incAliveTime-trueto set the alive time on the local member- Returns:
- the member object that defines this member
-
setLocalMemberProperties
public void setLocalMemberProperties(java.lang.String listenHost, int listenPort, int securePort, int udpPort)Description copied from interface:MembershipServiceSets the local member properties for broadcasting.- Specified by:
setLocalMemberPropertiesin interfaceMembershipService- Parameters:
listenHost- Listen to hostlistenPort- Listen to portsecurePort- Use a secure portudpPort- Use UDP
-
setPayload
public void setPayload(byte[] payload)
Description copied from interface:MembershipServiceSet a payload to be broadcasted with each membership broadcast.- Specified by:
setPayloadin interfaceMembershipService- Parameters:
payload- byte[]
-
setDomain
public void setDomain(byte[] domain)
Description copied from interface:MembershipServiceSet the associated domain.- Specified by:
setDomainin interfaceMembershipService- Parameters:
domain- the domain
-
getMembershipProvider
public MembershipProvider getMembershipProvider()
Description copied from interface:MembershipServiceGet the MembershipProvider- Specified by:
getMembershipProviderin interfaceMembershipService- Returns:
- MembershipProvider
-
getStaticMembers
public java.util.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:StaticMembershipServiceMBeanReturns the member expiration time in milliseconds.- Specified by:
getExpirationTimein interfaceStaticMembershipServiceMBean- 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:StaticMembershipServiceMBeanReturns the connection timeout in milliseconds.- Specified by:
getConnectTimeoutin interfaceStaticMembershipServiceMBean- 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:StaticMembershipServiceMBeanReturns the RPC timeout in milliseconds.- Specified by:
getRpcTimeoutin interfaceStaticMembershipServiceMBean- 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:StaticMembershipServiceMBeanReturns whether a background ping thread is in use.- Specified by:
getUseThreadin interfaceStaticMembershipServiceMBean- 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:StaticMembershipServiceMBeanReturns the ping interval in milliseconds.- Specified by:
getPingIntervalin interfaceStaticMembershipServiceMBean- 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(java.util.Properties properties)
Description copied from interface:MembershipServiceSets the properties for the membership service. This must be called before thestart()method is called. The properties are implementation specific.- Specified by:
setPropertiesin interfaceMembershipService- Overrides:
setPropertiesin classMembershipServiceBase- Parameters:
properties- - to be used to configure the membership service.
-
setDefaults
protected void setDefaults(java.util.Properties properties)
Sets default property values.- Parameters:
properties- the properties to configure
-
-