Package org.apache.catalina.tribes.membership

# Class StaticMembershipProvider

java.lang.Object
org.apache.catalina.tribes.membership.MembershipProviderBase
org.apache.catalina.tribes.membership.StaticMembershipProvider

All Implemented Interfaces:
  `ChannelListener`, `RpcCallback`, `Heartbeat`, `MembershipProvider`

public class StaticMembershipProvider extends MembershipProviderBase implements RpcCallback, ChannelListener, Heartbeat

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`static class`
`StaticMembershipProvider.MemberMessage`
`protected class`
`StaticMembershipProvider.PingThread`

## Field Summary

Fields
Modifier and Type
Field
Description
`protected Channel`
`channel`
`protected int`
`connectTimeout`
`protected long`
`expirationTime`
`protected long`
`pingInterval`
`protected RpcChannel`
`rpcChannel`
`protected long`
`rpcTimeout`
`protected boolean`
`running`
`protected int`
`sendOptions`
`protected static final StringManager`
`sm`
`protected int`
`startLevel`
`protected ArrayList<StaticMember>`
`staticMembers`
`protected StaticMembershipProvider.PingThread`
`thread`
`protected boolean`
`useThread`

### Fields inherited from class org.apache.catalina.tribes.membership.MembershipProviderBase

`executor, membership, membershipListener, service`

## Constructor Summary

Constructors
Constructor
Description
`StaticMembershipProvider()`

## Method Summary

Modifier and Type
Method
Description
`boolean`
`accept(Serializable msg, Member sender)`
Invoked by the channel to determine if the listener will process this message or not.
`protected void`
`checkExpired()`
`void`
`heartbeat()`
Heartbeat invocation for resources cleanup etc
`void`
`init(Properties properties)`
Initialize the membership provider with the specified configuration.
`void`
`leftOver(Serializable msg, Member sender)`
If the reply has already been sent to the requesting thread, the rpc callback can handle any data that comes in after the fact.
`protected void`
`memberAdded(Member member)`
`protected void`
`memberAlive(Member member)`
`protected void`
`memberDisappeared(Member member)`
`void`
`messageReceived(Serializable msg, Member sender)`
Receive a message from the channel
`protected void`
`ping()`
`Serializable`
`replyRequest(Serializable msg, Member sender)`
Allows sending a response to a received message.
`void`
`setChannel(Channel channel)`
`void`
`setStaticMembers(ArrayList<StaticMember> staticMembers)`
`protected Member`
`setupMember(Member mbr)`
`void`
`start(int level)`
Start the membership provider.
`protected void`
`startMembership(Member[] members)`
`boolean`
`stop(int level)`
Stop the membership provider.
`protected void`
`stopMembership(Member[] members)`

### Methods inherited from class org.apache.catalina.tribes.membership.MembershipProviderBase

`getMember, getMembers, hasMembers, setMembershipListener, setMembershipService`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### sm

protected static final StringManager sm

### channel

protected Channel channel

### rpcChannel

protected RpcChannel rpcChannel

### staticMembers

protected ArrayList<StaticMember> staticMembers

### sendOptions

protected int sendOptions

### expirationTime

protected long expirationTime

### connectTimeout

protected int connectTimeout

### rpcTimeout

protected long rpcTimeout

### startLevel

protected int startLevel

### useThread

protected boolean useThread

### pingInterval

protected long pingInterval

### running

protected volatile boolean running

### thread

protected StaticMembershipProvider.PingThread thread

## Constructor Details

### StaticMembershipProvider

public StaticMembershipProvider()

## Method Details

### init

public void init(Properties properties) throws Exception
Description copied from interface: `MembershipProvider`
Initialize the membership provider with the specified configuration.

Specified by:
  `init` in interface `MembershipProvider`
Overrides:
  `init` in class `MembershipProviderBase`
Parameters:
  `properties` - configuration
Throws:
  `Exception` - if an error occurs

### start

public void start(int level) throws Exception
Description copied from interface: `MembershipProvider`
Start the membership provider.

Specified by:
  `start` in interface `MembershipProvider`
Parameters:
  `level` - the readiness level
  Channel.DEFAULT - will start all services
  Channel.MBR_RX_SEQ - starts the membership receiver
  Channel.MBR_TX_SEQ - starts the membership broadcaster
Throws:
  `Exception` - if an error occurs

### stop

public boolean stop(int level) throws Exception
Description copied from interface: `MembershipProvider`
Stop the membership provider.

Specified by:
  `stop` in interface `MembershipProvider`
Parameters:
  `level` - the readiness level
  Channel.DEFAULT - will stop all services
  Channel.MBR_RX_SEQ - stops the membership receiver
  Channel.MBR_TX_SEQ - stops the membership broadcaster
Returns:
  `true` if successful
Throws:
  `Exception` - if an error occurs

### startMembership

protected void startMembership(Member[] members) throws ChannelException

Throws:
  `ChannelException`

### setupMember

protected Member setupMember(Member mbr)

### memberAdded

protected void memberAdded(Member member)

### memberDisappeared

protected void memberDisappeared(Member member)

### memberAlive

protected void memberAlive(Member member)

### stopMembership

protected void stopMembership(Member[] members)

### messageReceived

public void messageReceived(Serializable msg, Member sender)
Description copied from interface: `ChannelListener`
Receive a message from the channel

Specified by:
  `messageReceived` in interface `ChannelListener`
Parameters:
  `msg` - Serializable
  `sender` - - the source of the message

### accept

public boolean accept(Serializable msg, Member sender)
Description copied from interface: `ChannelListener`
Invoked by the channel to determine if the listener will process this message or not.

Specified by:
  `accept` in interface `ChannelListener`
Parameters:
  `msg` - Serializable
  `sender` - Member
Returns:
  boolean

### replyRequest

public Serializable replyRequest(Serializable msg, Member sender)
Description copied from interface: `RpcCallback`
Allows sending a response to a received message.

Specified by:
  `replyRequest` in interface `RpcCallback`
Parameters:
  `msg` - The message
  `sender` - Member
Returns:
  Serializable object, `null` if no reply should be sent

### leftOver

public void leftOver(Serializable msg, Member sender)
Description copied from interface: `RpcCallback`
If the reply has already been sent to the requesting thread, the rpc callback can handle any data that comes in after the fact.

Specified by:
  `leftOver` in interface `RpcCallback`
Parameters:
  `msg` - The message
  `sender` - Member

### heartbeat

public void heartbeat()
Description copied from interface: `Heartbeat`
Heartbeat invocation for resources cleanup etc

Specified by:
  `heartbeat` in interface `Heartbeat`

### ping

protected void ping() throws ChannelException

Throws:
  `ChannelException`

### checkExpired

protected void checkExpired()

### setChannel

public void setChannel(Channel channel)

### setStaticMembers

public void setStaticMembers(ArrayList<StaticMember> staticMembers)