什么是 ProcessingGroup (@ProcessingGroup)?
What is a ProcessingGroup (@ProcessingGroup)?
我是 Axon Framework 的新手,很难理解什么是处理组以及它们的用途。
如果你们能对此进行扩展,将不胜感激。
我正在尝试在具有单个数据库(事件存储)的不同主机上拥有同一应用程序的 2 个实例 运行。但是,我收到以下错误。第一个主机工作正常,但第二个主机不行。
我应该给他们分配不同的处理组吗?
org.axonframework.eventhandling.tokenstore.UnableToClaimTokenException: Unable to claim token 'projections[0]'. It is owned by '1@xxxxx-yyyyy-zzzzz'
此致,
卡罗
欢迎光临!
让我来解决你的疑惑,并尽力帮助你:)
- 什么是处理组?
Processing Group is a logical way to group Event Handlers. You can define them on your Event Handling Component using the @ProcessingGroup("processingGroupName")
annotation or, in case you do not provide a name, the default value is the full.package.name
. Keep in mind that a Tracking Event Processor 为每个处理组创建。
- 处理组有什么用?
如前所述,它与跟踪事件处理器有很大关系。在这种情况下,每个 TEP 都声明其跟踪令牌(以避免在不同 threads/nodes 中多次处理同一事件)。你可以深入阅读它here。
- 你的问题呢?
从共享日志和您的评论表明您有 2 个实例,这只是意味着一个实例已经声明了该令牌,而另一个实例不能声明它。如果第一个发布它,他们将争先恐后地宣称它,这意味着他们中的任何一个都可以做到。有多种方法可以并行处理事件,您可以更好地查看文档 here and here.
总而言之,此日志行没有任何问题,我相信您将其视为 INFO
而不是 ERROR
。
希望已经澄清了您对此的疑虑。
我是 Axon Framework 的新手,很难理解什么是处理组以及它们的用途。
如果你们能对此进行扩展,将不胜感激。
我正在尝试在具有单个数据库(事件存储)的不同主机上拥有同一应用程序的 2 个实例 运行。但是,我收到以下错误。第一个主机工作正常,但第二个主机不行。
我应该给他们分配不同的处理组吗?
org.axonframework.eventhandling.tokenstore.UnableToClaimTokenException: Unable to claim token 'projections[0]'. It is owned by '1@xxxxx-yyyyy-zzzzz'
此致, 卡罗
欢迎光临! 让我来解决你的疑惑,并尽力帮助你:)
- 什么是处理组?
Processing Group is a logical way to group Event Handlers. You can define them on your Event Handling Component using the @ProcessingGroup("processingGroupName")
annotation or, in case you do not provide a name, the default value is the full.package.name
. Keep in mind that a Tracking Event Processor 为每个处理组创建。
- 处理组有什么用?
如前所述,它与跟踪事件处理器有很大关系。在这种情况下,每个 TEP 都声明其跟踪令牌(以避免在不同 threads/nodes 中多次处理同一事件)。你可以深入阅读它here。
- 你的问题呢?
从共享日志和您的评论表明您有 2 个实例,这只是意味着一个实例已经声明了该令牌,而另一个实例不能声明它。如果第一个发布它,他们将争先恐后地宣称它,这意味着他们中的任何一个都可以做到。有多种方法可以并行处理事件,您可以更好地查看文档 here and here.
总而言之,此日志行没有任何问题,我相信您将其视为 INFO
而不是 ERROR
。
希望已经澄清了您对此的疑虑。