Не могли бы вы уточнить, в каком случае вам это нужно? У меня есть готовый ответ на ваш вопрос, но, возможно, я могу предложить другой порядок действий в зависимости от сценария, в котором вы нуждаетесь.
События будут обрабатываться в порядке их передачи источнику сообщений. вы используете.
Из EventStore
это будет означать, что вы будете получать события в порядке глобальный индекс каждого из событий. globalIndex
- это поле в каждом EventMessage
, используемое для обозначения его порядка во всем хранилище событий.
При использовании AMQP / RabbitMQ в качестве источника сообщений сохраняется аналогичный порядок. Событие, которое раньше было в очереди, будет обработано в первую очередь на стороне потребителя.
Если вы хотите, чтобы Event1
обрабатывалось до Event2
, то его нужно будет опубликовать до Другой. Таким образом, контроль над порядком публикации является ключевым, если вам требуется гарантированный заказ. Axon не предоставляет ручек для настройки порядка обработки событий, так как он гораздо более идеален, если ваша система не полагается непосредственно на порядок событий. Компонент обработки должен стоять сам по себе, не делая предположений по этому вопросу.
Надеюсь, это поможет вам, Амит!