Некоторый контекст проекта - FYI
В нашей системе мы используем некоторые приемочные испытания с огурцом. В тестовых прогонах мы используем полностью настроенную систему микросервисов (локальный компьютер). Источник событий управляется хранилищем событий Axon.
Сценарий
Мы применяем команды для агрегатов и запуска бизнес-событий. Проекция реализована как обработчик событий. Другие службы прослушивают бизнес-событие и читают записанные данные (REST).
Мы делаем это таким образом, чтобы наши события были небольшими.
Чтобы преодолеть возможный период согласованности между бизнес-событием и проекция, в то время как чтение происходит в другом сервисе, у нас есть много операторов в наших шагах огурца, таких как
Thread.sleep(5000L);
Но значение сна зависит от индекса производительности базового оборудования. Таким образом, тесты являются хрупкими.
Вопрос Будет ли возможность инициировать события после того, как проекция записала данные? Таким образом, мы могли прочитать данные с гарантией актуальности.