Akka:在处理标记为 NotInfluenceReceiveTimeout 的消息时调用 setReceiveTime


使用

Akka 时,使用 NotInfluenceReceiveTimeout 注释消息意味着收到此消息不会重置之前设置的任何超时(使用 setReceiveTimeout (。但是,如果收到这样的消息,并且我们在处理消息时触发了setReceiveTimeout调用,是否会忽略此调用,从而导致未设置超时?

No.

  • 接收超时逻辑是使用在指定超时后发送的计划ReceiveTimeout消息实现的
  • 每当参与者收到消息时,都会检查其NotInfluenceReceiveTimeout标记

    • 如果消息不带有NotInfluenceReceiveTimeout标记,则取消计划的ReceiveTimeout,并重新安排新的
    • 否则,计划的消息保持不变
  • 然后处理消息 - 无论NotInfluenceReceiveTimeout标记如何。如果在此处调用setReceiveTimeout,即使对于NotInfluenceReceiveTimeout消息,它也将有效。

查看源代码(此处和此处(以获取更多信息。

相关内容

  • 没有找到相关文章

最新更新