Package org.apache.catalina.tribes
Interface Member
- All Superinterfaces:
Serializable
- All Known Implementing Classes:
MemberImpl
,StaticMember
The Member interface, defines a member in the group.
Each member can carry a set of properties, defined by the actual implementation.
A member is identified by the host/ip/uniqueId
The host is what interface the member is listening to, to receive data
The port is what port the member is listening to, to receive data
The uniqueId defines the session id for the member. This is an important feature since a member that has crashed and the starts up again on the same port/host is not guaranteed to be the same member, so no state transfers will ever be confused
A member is identified by the host/ip/uniqueId
The host is what interface the member is listening to, to receive data
The port is what port the member is listening to, to receive data
The uniqueId defines the session id for the member. This is an important feature since a member that has crashed and the starts up again on the same port/host is not guaranteed to be the same member, so no state transfers will ever be confused
-
Field Summary
Modifier and TypeFieldDescriptionstatic final byte[]
When a member leaves the cluster, the payload of the memberDisappeared member will be the following bytes. -
Method Summary
Modifier and TypeMethodDescriptionbyte[]
byte[]
getData
(boolean getalive) Highly optimized version of serializing a member into a byte array Returns a cached byte[] reference, do not modify this databyte[]
getData
(boolean getalive, boolean reset) Highly optimized version of serializing a member into a byte array Returns a cached byte[] reference, do not modify this dataint
Length of a message obtained bygetData(boolean)
orgetData(boolean, boolean)
.byte[]
byte[]
getHost()
Returns the listen host for the ChannelReceiver implementationlong
Contains information on how long this member has been online.getName()
byte[]
int
getPort()
Returns the listen port for the ChannelReceiver implementationint
Returns the secure listen port for the ChannelReceiver implementation.int
Returns the UDP port that this member is listening to for UDP messages.byte[]
returns a UUID unique for this member over all sessions.boolean
boolean
isLocal()
boolean
isReady()
The current state of the memberboolean
The current state of the membervoid
setCommand
(byte[] command) Set the command associated with this member.void
setLocal
(boolean local) Set if the member is local.void
setMemberAliveTime
(long memberAliveTime) Set the alive time in ms.void
setPayload
(byte[] payload) Set the payload associated with this member.
-
Field Details
-
SHUTDOWN_PAYLOAD
static final byte[] SHUTDOWN_PAYLOADWhen a member leaves the cluster, the payload of the memberDisappeared member will be the following bytes. This indicates a soft shutdown, and not a crash
-
-
Method Details
-
getName
String getName()- Returns:
- the name of this node, should be unique within the group.
-
getHost
byte[] getHost()Returns the listen host for the ChannelReceiver implementation- Returns:
- IPv4 or IPv6 representation of the host address this member listens to incoming data
- See Also:
-
getPort
int getPort()Returns the listen port for the ChannelReceiver implementation- Returns:
- the listen port for this member, -1 if its not listening on an insecure port
- See Also:
-
getSecurePort
int getSecurePort()Returns the secure listen port for the ChannelReceiver implementation. Returns -1 if its not listening to a secure port.- Returns:
- the listen port for this member, -1 if its not listening on a secure port
- See Also:
-
getUdpPort
int getUdpPort()Returns the UDP port that this member is listening to for UDP messages.- Returns:
- the listen UDP port for this member, -1 if its not listening on a UDP port
-
getMemberAliveTime
long getMemberAliveTime()Contains information on how long this member has been online. The result is the number of milli seconds this member has been broadcasting its membership to the group.- Returns:
- nr of milliseconds since this member started.
-
setMemberAliveTime
void setMemberAliveTime(long memberAliveTime) Set the alive time in ms.- Parameters:
memberAliveTime
- the value to set
-
isReady
boolean isReady()The current state of the member- Returns:
true
if the member is functioning correctly
-
isSuspect
boolean isSuspect()The current state of the member- Returns:
true
if the member is suspect, but the crash has not been confirmed
-
isFailing
boolean isFailing()- Returns:
true
if the member has been confirmed to malfunction
-
getUniqueId
byte[] getUniqueId()returns a UUID unique for this member over all sessions. If the member crashes and restarts, the uniqueId will be different.- Returns:
- byte[]
-
getPayload
byte[] getPayload()- Returns:
- the payload associated with this member
-
setPayload
void setPayload(byte[] payload) Set the payload associated with this member.- Parameters:
payload
- the payload
-
getCommand
byte[] getCommand()- Returns:
- the command associated with this member
-
setCommand
void setCommand(byte[] command) Set the command associated with this member.- Parameters:
command
- the command
-
getDomain
byte[] getDomain()- Returns:
- the domain for this cluster
-
getData
byte[] getData(boolean getalive) Highly optimized version of serializing a member into a byte array Returns a cached byte[] reference, do not modify this data- Parameters:
getalive
- calculate memberAlive time- Returns:
- the data as a byte array
-
getData
byte[] getData(boolean getalive, boolean reset) Highly optimized version of serializing a member into a byte array Returns a cached byte[] reference, do not modify this data- Parameters:
getalive
- calculate memberAlive timereset
- reset the cached data package, and create a new one- Returns:
- the data as a byte array
-
getDataLength
int getDataLength()Length of a message obtained bygetData(boolean)
orgetData(boolean, boolean)
.- Returns:
- the data length
-
isLocal
boolean isLocal()- Returns:
true
if the member is local member
-
setLocal
void setLocal(boolean local) Set if the member is local.- Parameters:
local
- set totrue
if this is the local member
-