java-design-patterns/queue-load-leveling/etc/queue-load-leveling.urm.puml

44 lines
1.0 KiB
Plaintext

@startuml
package com.iluwatar.queue.load.leveling {
class App {
- LOGGER : Logger {static}
- SHUTDOWN_TIME : int {static}
+ App()
+ main(args : String[]) {static}
}
class Message {
- msg : String
+ Message(msg : String)
+ getMsg() : String
+ toString() : String
}
class MessageQueue {
- LOGGER : Logger {static}
- blkQueue : BlockingQueue<Message>
+ MessageQueue()
+ retrieveMsg() : Message
+ submitMsg(msg : Message)
}
class ServiceExecutor {
- LOGGER : Logger {static}
- msgQueue : MessageQueue
+ ServiceExecutor(msgQueue : MessageQueue)
+ run()
}
interface Task {
+ submit(Message) {abstract}
}
class TaskGenerator {
- LOGGER : Logger {static}
- msgCount : int
- msgQueue : MessageQueue
+ TaskGenerator(msgQueue : MessageQueue, msgCount : int)
+ run()
+ submit(msg : Message)
}
}
MessageQueue --> "-blkQueue" Message
ServiceExecutor --> "-msgQueue" MessageQueue
TaskGenerator --> "-msgQueue" MessageQueue
TaskGenerator ..|> Task
@enduml