44 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			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 |