JGroups allows developers to create reliable multipoint (multicast) applications where reliability is a deployment issue, and does not have to be implemented by the application developer.
This saves application developers significant amounts of time, and allows for the application to be deployed in different environments, without having to change code.
It is based on IP multicast, but can be extended into any network protocol.
Here are some key features of "JGroups":
· Reliable multicasting
· Flexible protocol stack
· Easily adaptable
· High speed messaging
· Cloud enabled
· Group creation and deletion. Group members can be spread across LANs or WANs
· Joining and leaving of groups
· Membership detection and notification about joined/left/crashed members
· Detection and removal of crashed members
· Sending and receiving of member-to-group messages (point-to-multipoint)
· Sending and receiving of member-to-member messages (point-to-point)
· Transport protocols: UDP (IP Multicast), TCP, JMS
· Fragmentation of large messages
· Reliable unicast and multicast message transmission. Lost messages are retransmitted
· Failure detection: crashed members are excluded from the membership
· Ordering protocols: Atomic (all-or-none message delivery), Fifo, Causal, Total Order (sequencer or token based)