use of org.apache.catalina.tribes.group.ChannelInterceptorBase in project tomcat by apache.
the class StaticMembershipInterceptor method start.
/**
* {@inheritDoc}
* <p>
* Sends notifications upwards.
*/
@Override
public void start(int svc) throws ChannelException {
if ((Channel.SND_RX_SEQ & svc) == Channel.SND_RX_SEQ)
super.start(Channel.SND_RX_SEQ);
if ((Channel.SND_TX_SEQ & svc) == Channel.SND_TX_SEQ)
super.start(Channel.SND_TX_SEQ);
final ChannelInterceptorBase base = this;
for (final Member member : members) {
Thread t = new Thread() {
@Override
public void run() {
base.memberAdded(member);
if (getfirstInterceptor().getMember(member) != null) {
sendLocalMember(new Member[] { member });
}
}
};
t.start();
}
super.start(svc & (~Channel.SND_RX_SEQ) & (~Channel.SND_TX_SEQ));
// check required interceptors
TcpFailureDetector failureDetector = null;
TcpPingInterceptor pingInterceptor = null;
ChannelInterceptor prev = getPrevious();
while (prev != null) {
if (prev instanceof TcpFailureDetector)
failureDetector = (TcpFailureDetector) prev;
if (prev instanceof TcpPingInterceptor)
pingInterceptor = (TcpPingInterceptor) prev;
prev = prev.getPrevious();
}
if (failureDetector == null) {
log.warn(sm.getString("staticMembershipInterceptor.no.failureDetector"));
}
if (pingInterceptor == null) {
log.warn(sm.getString("staticMembershipInterceptor.no.pingInterceptor"));
}
}
Aggregations