Главная идея брокера сообщений в том, что сообщения:
- сначала попадают в очередь сообщений IMessage[] при помощи метода MessageBroker.publish(),
- а затем оттуда извлекаются и отправляются в передатчик сообщений MessageEmitter при помощи метода MessageEmitter.emit()
- и вызываются все слушатели этого сообщения.
- После вызова MessageEmitter.emit() очередь очищается.
- Содержимое очереди доступно.
Для чего нужен доступ к очереди сообщений? Например, когда в момент подписки возможно ситуация, что сообщение было уже отправлено и нельзя его уже перехватить. С брокером MessageBroker можно сначала просмотреть очередь. Или воспользоваться специальным методом MessageBroker.awaitMessage() для подписки на сообщения, которые в момент подписки могут быть уже опубликованы.