QuickStart
//create a channel
Channel myChannel = new GroupChannel();
//create my listeners
MyMessageListener msgListener = new MyMessageListener();
MyMemberListener mbrListener = new MyMemberListener();
//attach the listeners to the channel
myChannel.addMembershipListener(mbrListener);
myChannel.addChannelListener(msgListener);
//start the channel
myChannel.start(Channel.DEFAULT);
//create a message to be sent, message must implement java.io.Serializable
//for performance reasons you probably want them to implement java.io.Externalizable
Serializable myMsg = new MyMessage();
//retrieve my current members
Member[] group = myChannel.getMembers();
//send the message
channel.send(group,myMsg,Channel.SEND_OPTIONS_DEFAULT);
Interfaces for the Application Developer
com.tongweb.container.tribes.Channel
Main component to interact with to send messages
com.tongweb.container.tribes.MembershipListener
Listen to membership changes
com.tongweb.container.tribes.ChannelListener
Listen to data messages
com.tongweb.container.tribes.Member
Identifies a node, implementation specific, default is org.apache.catalina.tribes.membership.MemberImpl
Interfaces for the Tribes Component Developer
com.tongweb.container.tribes.Channel
Main component to that the application interacts with
com.tongweb.container.tribes.ChannelReceiver
IO Component to receive messages over some network transport
com.tongweb.container.tribes.ChannelSender
IO Component to send messages over some network transport
com.tongweb.container.tribes.MembershipService
IO Component that handles membership discovery and
com.tongweb.container.tribes.ChannelInterceptor
interceptors between the Channel and the IO layer
com.tongweb.container.tribes.ChannelMessage
The message that is sent through the interceptor stack down to the IO layer
com.tongweb.container.tribes.Member
Identifies a node, implementation specific to the underlying IO logic