我可以在两个事件之间放置一个序列(或在一定的时间间隔内执行)以顺序处理 在轴突。这两个事件是同时创建的。以下是示例事件。
因为我的第二个事件取决于第一个事件的执行结果。我正在使用RabbitMq发布消息。
FROM node:4.4.2
EXPOSE 3000
ENV NODE_ENV test
WORKDIR /app
COPY ["package.json", "npm-shrinkwrap.json*", "./"]
RUN npm install --silent
COPY . /app
CMD node server.js
答案 0 :(得分:0)
您介意详细说明需要使用它的用例吗? 对于您的问题,我已经准备好答案,但是也许我可以根据您所需要的情况,建议采取其他措施。
事件将按照分配给您使用的消息源的顺序进行处理。
从EventStore
开始,这意味着您将以每个事件的全局索引顺序接收事件。 globalIndex
是每个EventMessage
上的一个字段,用于表示其在整个事件存储中的顺序。
使用AMQP / RabbitMQ作为消息源时,将保持类似的顺序。队列中较早发生的事件将首先在使用方处理。
因此,如果您希望在Event1
之前处理Event2
,则需要先发布它。因此,如果您需要有保证的订单,那么对发布顺序的控制就成为关键。 Axon不提供用于调整事件处理顺序的句柄,因为如果您的系统不直接依赖事件顺序,则更为理想。处理组件应该自己使用,而不是对此事做任何假设。
希望这对您有帮助吗?