public class CloudMembershipService extends MembershipServiceBase implements CloudMembershipServiceMBean
MembershipService
that uses Kubernetes API(default) or DNS to retrieve
the members of a cluster.
The default implementation of the MembershipProvider component is the KubernetesMembershipProvider
.
The MembershipProvider can be configured by the membershipProviderClassName
property.
Possible shortcuts are kubernetes
and dns
. For dns look at the DNSMembershipProvider
.
Configuration example
server.xml
<Server ...
<Service ...
<Engine ...
<Host ...
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster">
<Channel className="org.apache.catalina.tribes.group.GroupChannel">
<Membership className="org.apache.catalina.tribes.membership.cloud.CloudMembershipService"/>
</Channel>
</Cluster>
...
Modifier and Type | Field and Description |
---|---|
protected static byte[] |
INITIAL_ID |
static String |
MEMBERSHIP_PROVIDER_CLASS_NAME |
protected static StringManager |
sm |
channel, listener, properties
MBR_RX, MBR_TX
Constructor and Description |
---|
CloudMembershipService() |
Modifier and Type | Method and Description |
---|---|
int |
getConnectTimeout() |
long |
getExpirationTime() |
Member |
getLocalMember(boolean incAliveTime)
Get the local member.
|
MembershipProvider |
getMembershipProvider()
Get the MembershipProvider
|
String |
getMembershipProviderClassName()
Return the membership provider class.
|
Object |
getProperty(String name)
Return a property.
|
int |
getReadTimeout() |
void |
setConnectTimeout(int connectTimeout) |
void |
setDomain(byte[] domain) |
void |
setExpirationTime(long expirationTime) |
void |
setLocalMemberProperties(String listenHost,
int listenPort,
int securePort,
int udpPort)
Sets the local member properties for broadcasting.
|
void |
setMembershipProvider(MembershipProvider memberProvider) |
void |
setMembershipProviderClassName(String membershipProviderClassName)
Set the membership provider class.
|
void |
setPayload(byte[] payload)
Set a payload to be broadcasted with each membership
broadcast.
|
boolean |
setProperty(String name,
String value)
Set a property.
|
void |
setReadTimeout(int readTimeout) |
void |
start(int level)
Starts the membership service.
|
void |
stop(int level)
Starts the membership service.
|
broadcast, findMemberByName, getChannel, getMember, getMembers, getMembersByName, getProperties, hasMembers, memberAdded, memberDisappeared, removeMembershipListener, setChannel, setMembershipListener, setProperties, start
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
findMemberByName, getMembersByName, getProperties, hasMembers
protected static final StringManager sm
public static final String MEMBERSHIP_PROVIDER_CLASS_NAME
protected static final byte[] INITIAL_ID
public Object getProperty(String name)
name
- the property namepublic boolean setProperty(String name, String value)
name
- the property namevalue
- the property valuetrue
if the property was successfully setpublic String getMembershipProviderClassName()
public void setMembershipProviderClassName(String membershipProviderClassName)
membershipProviderClassName
- the class namepublic void start(int level) throws Exception
MembershipService
start
in interface MembershipService
level
- - level MBR_RX starts listening for members, level MBR_TX
starts broad casting the serverException
- if the service fails to start.IllegalArgumentException
- if the level is incorrect.public void stop(int level)
MembershipService
stop
in interface MembershipService
level
- - level MBR_RX stops listening for members, level MBR_TX
stops broad casting the serverpublic Member getLocalMember(boolean incAliveTime)
MembershipService
getLocalMember
in interface MembershipService
incAliveTime
- true
to set the alive time
on the local memberpublic void setLocalMemberProperties(String listenHost, int listenPort, int securePort, int udpPort)
MembershipService
setLocalMemberProperties
in interface MembershipService
listenHost
- Listen to hostlistenPort
- Listen to portsecurePort
- Use a secure portudpPort
- Use UDPpublic void setPayload(byte[] payload)
MembershipService
setPayload
in interface MembershipService
payload
- byte[]public void setDomain(byte[] domain)
setDomain
in interface MembershipService
public MembershipProvider getMembershipProvider()
MembershipService
getMembershipProvider
in interface MembershipService
public void setMembershipProvider(MembershipProvider memberProvider)
public int getConnectTimeout()
getConnectTimeout
in interface CloudMembershipServiceMBean
public void setConnectTimeout(int connectTimeout)
public int getReadTimeout()
getReadTimeout
in interface CloudMembershipServiceMBean
public void setReadTimeout(int readTimeout)
public long getExpirationTime()
getExpirationTime
in interface CloudMembershipServiceMBean
public void setExpirationTime(long expirationTime)
Copyright © 2000-2020 Apache Software Foundation. All Rights Reserved.