* 8. tcpListenHost - the bind address of this member<BR>
* @exception java.lang.IllegalArgumentException if a property is missing.
*/
+ @Override
public void setProperties(Properties properties) {
hasProperty(properties,"mcastPort");
hasProperty(properties,"mcastAddress");
/**
* Return the properties, see setProperties
*/
+ @Override
public Properties getProperties() {
return properties;
}
/**
* Return the local member
*/
+ @Override
public Member getLocalMember(boolean alive) {
if ( alive && localMember != null && impl != null) localMember.setMemberAliveTime(System.currentTimeMillis()-impl.getServiceStartTime());
return localMember;
/**
* Sets the local member properties for broadcasting
*/
+ @Override
public void setLocalMemberProperties(String listenHost, int listenPort, int securePort, int udpPort) {
properties.setProperty("tcpListenHost",listenHost);
properties.setProperty("tcpListenPort",String.valueOf(listenPort));
* Start broadcasting and listening to membership pings
* @throws java.lang.Exception if a IO error occurs
*/
+ @Override
public void start() throws java.lang.Exception {
start(MembershipService.MBR_RX);
start(MembershipService.MBR_TX);
}
+ @Override
public void start(int level) throws java.lang.Exception {
hasProperty(properties,"mcastPort");
hasProperty(properties,"mcastAddress");
/**
* Stop broadcasting and listening to membership pings
*/
+ @Override
public void stop(int svc) {
try {
if ( impl != null && impl.stop(svc) ) impl = null;
/**
* Return all the members by name
*/
+ @Override
public String[] getMembersByName() {
Member[] currentMembers = getMembers();
String [] membernames ;
/**
* Return the member by name
*/
+ @Override
public Member findMemberByName(String name) {
Member[] currentMembers = getMembers();
for (int i = 0; i < currentMembers.length; i++) {
/**
* has members?
*/
+ @Override
public boolean hasMembers() {
if ( impl == null || impl.membership == null ) return false;
return impl.membership.hasMembers();
}
+ @Override
public Member getMember(Member mbr) {
if ( impl == null || impl.membership == null ) return null;
return impl.membership.getMember(mbr);
* Return all the members
*/
protected static final Member[]EMPTY_MEMBERS = new Member[0];
+ @Override
public Member[] getMembers() {
if ( impl == null || impl.membership == null ) return EMPTY_MEMBERS;
return impl.membership.getMembers();
* so calling this method twice will result in only the second listener being active.
* @param listener The listener
*/
+ @Override
public void setMembershipListener(MembershipListener listener) {
this.listener = listener;
}
/**
* Remove the membership listener
*/
+ @Override
public void removeMembershipListener(){
listener = null;
}
+ @Override
public void memberAdded(Member member) {
if ( listener!=null ) listener.memberAdded(member);
}
* Callback from the impl when a new member has been received
* @param member The member
*/
+ @Override
public void memberDisappeared(Member member)
{
if ( listener!=null ) listener.memberDisappeared(member);
}
+ @Override
public void messageReceived(ChannelMessage msg) {
if (msglistener!=null && msglistener.accept(msg)) msglistener.messageReceived(msg);
}
+ @Override
public boolean accept(ChannelMessage msg) {
return true;
}
+ @Override
public void broadcast(ChannelMessage message) throws ChannelException {
if (impl==null || (impl.startLevel & Channel.MBR_TX_SEQ)!=Channel.MBR_TX_SEQ )
throw new ChannelException("Multicast send is not started or enabled.");
properties.setProperty("mcastTTL", String.valueOf(mcastTTL));
}
+ @Override
public void setPayload(byte[] payload) {
this.payload = payload;
if ( localMember != null ) {
}
}
+ @Override
public void setDomain(byte[] domain) {
this.domain = domain;
if ( localMember != null ) {