@startuml
title Membership - Class Diagram
class MembershipManager {
+send message
+keep track of members
+find and remove members
}
class JGroupsMessenger {
+send and receive UDP messages
+encapsulates jgroups
}
class JChannel {
+jgroups stack with udp socket
}
class NetMember
class InternalDistributedMember
class NetView
class MemberFactory {
+Static factory
}
class Services
interface Service
interface HealthMonitor
class GMSHealthMonitor
MembershipManager "1" *-- "1" Services
MemberFactory *-- MemberFactory
MemberFactory --> MembershipManager: Creates
Services *-- Service
NetView "1" *-- "*" InternalDistributedMember
InternalDistributedMember "1" *-- "1" NetMember
GMSHealthMonitor --|> HealthMonitor
HealthMonitor --|> Service
Messenger --|> Service
JGroupsMessenger --|> Messenger
JChannel --* JGroupsMessenger
@enduml |