Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

@startuml

...


title

...

Relationships - 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

...

 {
member metadata
unique member id
member address - host, udp and tcp ports
}
class InternalDistributedMember {
additional member metadata

}
class NetView {
list of members
}
class MemberFactory {

...


...

Static factory

...


}

...


class Services

...


interface Service

...


class GMSHealthMonitor {
check that members are alive and communicating.
}
class GMSJoinLeave {
Provides API to join and leave cluster
reveives messages about joins/leaves from the network
}

MembershipManager "1" *-- "1" Services

...


MemberFactory *-- MemberFactory

...


MemberFactory --> MembershipManager: Creates

...


Services *-- Service

...


NetView "1" *-- "*" InternalDistributedMember

...


InternalDistributedMember "1" *-- "1" NetMember

...


GMSHealthMonitor --|>

...

Service
JGroupsMessenger --|> Service

...


GMSJoinLeave --|> Service

...


JChannel --* JGroupsMessenger

...


@enduml