Next:
Contents
JavaGroups User's Guide
Bela Ban
Dept. of Computer Science
Cornell University
bba@cs.cornell.edu
August 16 1999
Contents
Overview
Building Blocks
The JChannel Protocol Stack
Installation and Configuration
Installing and compiling the source distribution
Choosing the channel implementation
JChannel
Ensemble
iBus
Testing your Setup
Running a Demo Program
Testing for Normal Use
Testing for Use over Ensemble
Testing for Use over iBus
Using JavaGroups
Utility classes
Version
Addresses
Messages and Headers
Queue
View
SlidingWindow
ReusableThread
ThreadPool
Scheduler
Util
ObjectToByteBuffer, ObjectFromByteBuffer
FragmentBuffer, DefragmentBuffer
Interfaces
Transport
MessageListener
MembershipListener
Channels
Creating a channel
Connecting to a channel
Getting the local and group addresses
Sending data to member(s)
Receiving data
Peeking at data
Getting the group's state
Getting the current view
Disconnecting from a channel
Closing a channel
Setting options
Building blocks
PullPushAdapter
Example
MethodCall
RequestCorrelator
Sending a request
Receiving a request
Handling a request
Receiving a response
GroupRequest
MessageDispatcher
RpcDispatcher
DistributedHashtable
Customizing the JChannel protocol stack
Properties
Dependency checking
Available Protocols
UDP
PING
FD
GMS
Using multiple channels
Disabling IP multicast
Disabling IP multicast
Using the gossip daemon
Troubleshooting
Members don't find each other
Firewalls
Using TUNNEL, JRouter and Gossip to tunnel firewalls
Using multiple JRouters
Merging JRouter and gossip
Implementing Protocols Using JChannel
The JChannel protocol stack
Utility classes
Address
Membership
ViewId
Events and messages
Architecture
Class
Protocol
Construction of the protocol stack
Initialization and de-initialization of the protocol stack
Creation of JChannel
JChannel.Connect()
JChannel.Disconnect()
JChannel.Close()
Creating a sample protocol
Peer protocols
MessageProtocol
RpcProtocol
Advanced Concepts
Avoiding deadlocks using synchronous group method invocations
Using deadlock detection with the RequestCorrelator
Implementing view changes
Protocol layers that work together to implement view changes
RpcGMS
FLUSH
NAKACK
STABLE
Interaction between protocol layers implementing view changes
Appendix
Events
BECOME_SERVER
CONNECT
CONNECT_OK
DISCONNECT
DISCONNECT_OK
FIND_INITIAL_MBRS
FIND_INITIAL_MBRS_OK
GET_APPL_STATE
GET_APPL_STATE_OK
GET_STATE
GET_STATE_OK
MSG
SET_LOCAL_ADDRESS
SUSPECT
START
START_OK
START_QUEUEING
STATE_RECEIVED
STOP
STOP_OK
STOP_QUEUEING
SWITCH_ACK
SWITCH_NAK
TMP_VIEW
VIEW_CHANGE
JChannel Protocols
Templates
Delay
FD
FRAG
GMS
MACK
MNAK
PING
PT2PT
QUEUE
STATE_TRANSFER
TOTAL
TUNNEL
UDP
Bibliography
About this document ...
1999-08-19