Axon Framework-是否可以从多个 sagas 中聚合处理命令?

Axon Framework- is it possible to have an aggregate handle commands from multiple sagas?

我想使用一个聚合来处理来自多个 sagas 的命令。不幸的是,如果 saga 在聚合正忙于处理另一个命令时发送命令,则该命令将丢失,并将 AggregateNotFoundException 写入日志。

我可以为每个传奇使用一个聚合,但我想知道是否可以为所有传奇使用一个聚合。

在 Axon 中,命令处理程序对命令的来源不感兴趣。因此,无论是多个 Sagas 发送命令,还是只有一个源,都没有关系。

我认为这里的问题更多地与竞争条件有关。如果命令导致 AggregateNotFoundException,则表示创建聚合的命令尚未处理。

最有可能的是 model/design 中存在问题,导致出现这些竞争条件。但是,为了能够做出判断,我需要更多关于您的设计以及您试图通过它实现的目标的信息。