Package org.apache.catalina.tribes
package org.apache.catalina.tribes
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
org.apache.catalina.tribes.Channel
Main component to interact with to send messagesorg.apache.catalina.tribes.MembershipListener
Listen to membership changesorg.apache.catalina.tribes.ChannelListener
Listen to data messagesorg.apache.catalina.tribes.Member
Identifies a node, implementation specific, default is org.apache.catalina.tribes.membership.MemberImpl
Interfaces for the Tribes Component Developer
org.apache.catalina.tribes.Channel
Main component to that the application interacts withorg.apache.catalina.tribes.ChannelReceiver
IO Component to receive messages over some network transportorg.apache.catalina.tribes.ChannelSender
IO Component to send messages over some network transportorg.apache.catalina.tribes.MembershipService
IO Component that handles membership discovery andorg.apache.catalina.tribes.ChannelInterceptor
interceptors between the Channel and the IO layerorg.apache.catalina.tribes.ChannelMessage
The message that is sent through the interceptor stack down to the IO layerorg.apache.catalina.tribes.Member
Identifies a node, implementation specific to the underlying IO logic
-
ClassDescriptionA byte message is not serialized and deserialized by the channel instead it is sent as a byte array.A channel is a representation of a group of nodes all participating in some sort of communication with each other.A channel exception is thrown when an internal error happens somewhere in the channel.Represent a failure to a specific member when a message was sent to more than one memberA ChannelInterceptor is an interceptor that intercepts messages and membership messages in the channel stack.An interface to listens to incoming messages from a channel.Message that is passed through the interceptor stack after the data serialized in the Channel object and then passed down to the interceptor and eventually down to the ChannelSender component.The
ChannelReceiver
interface is the data receiver component at the bottom layer, the IO layer (for layers see theChannel
interface).TheChannelSender
interface is the data sender component at the bottom layer, the IO layer (for layers see theChannel
interface).TheErrorHandler
class is used when sending messages that are sent asynchronously and the application still needs to get confirmation when the message was sent successfully or when a message errored out.Can be implemented by the ChannelListener and Membership listeners to receive heartbeat notifications from the ChannelA managed channel interface gives you access to the components of the channels such as senders, receivers, interceptors etc for configurations purposesThe Member interface, defines a member in the group.The MembershipListener interface is used as a callback to the membership service.TheMembershipService
interface is the membership component at the bottom layer, the IO layer (for layers see the javadoc for theChannel
interface).The listener to be registered with the ChannelReceiver, internal Tribes component.Message thrown by a sender when USE_SYNC_ACK receives a FAIL_ACK_COMMAND.Represents a globally unique Id.