如何从事件存储中获取 Axon 事件标识符

时间:2021-05-25 02:00:49

标签: axon

这里只是一个简短的问题...

通过使用 Axon,我们知道 AggregateLifecycle#apply(Object) 将为我们做事件源,在幕后将我们的事件持久化到我们的事件存储中。

关于这个问题,一旦我们调用那个特定的 apply 方法,如何获得 事件标识符(不是聚合标识符)?

谢谢

1 个答案:

答案 0 :(得分:1)

根据您的另一个答案,让我建议您遵循的方法。

AxonFramework (AF) 使用的 MessageIdentifier 只不过是为您创建的每个 UUID 生成的 Message

由于您只需要重复使用该信息,因此在处理它时您几乎可以从 Message 中获取它。为了让您更轻松,Axon 提供了一个 MessageIdentifierParameterResolver,这意味着您可以简单地在任何 @MessageHandler 人中使用它(当然,我假设您也在使用 Spring)。

示例:

@EventHandler 
public void handle(Event eventToBeForwarded, @MessageIdentifier String messageIdentifier) {
     // forward the event to another broker using the given `messageIdentifier`
}

希望对您有所帮助并使事情变得清晰!