问题描述
这里只是一个简短的问题...
通过使用 Axon,我们知道 AggregateLifecycle#apply(Object)
将为我们做事件源,在幕后将我们的事件持久化到我们的事件存储中。
关于这个问题,一旦我们调用那个特定的 apply
方法,如何获得 事件标识符(不是聚合标识符)?
谢谢
解决方法
根据您的另一个答案,让我建议您遵循的方法。
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`
}
希望对您有所帮助并使事情变得清晰!