Scala Akka演员监督-Dos';简历';是否保留当前消息?

Scala Akka演员监督-Dos';简历';是否保留当前消息?,scala,akka,actor,akka-supervision,Scala,Akka,Actor,Akka Supervision,在Akka参与者(使用Scala)中,可以使用监督策略来处理异常。此策略可以根据异常的类型决定如何处理参与者。根据我的理解,有4种可能的结果: 恢复-让子参与者保持其当前状态并继续处理新消息,就像什么都没发生一样 重新启动-重新启动子参与者,即杀死失败的当前子参与者,并在其位置创建一个新的子参与者 停止-永久关闭儿童演员 上报-让主管的主管处理此错误 明确指出,在重新启动参与者时,当前消息将丢失,必须对此进行处理。然而,它并没有明确提到是否同样适用于简历。它是否继续处理该邮件(假设某个外部因

在Akka参与者(使用Scala)中,可以使用监督策略来处理异常。此策略可以根据异常的类型决定如何处理参与者。根据我的理解,有4种可能的结果:

  • 恢复-让子参与者保持其当前状态并继续处理新消息,就像什么都没发生一样
  • 重新启动-重新启动子参与者,即杀死失败的当前子参与者,并在其位置创建一个新的子参与者
  • 停止-永久关闭儿童演员
  • 上报-让主管的主管处理此错误
明确指出,在重新启动参与者时,当前消息将丢失,必须对此进行处理。然而,它并没有明确提到是否同样适用于简历。它是否继续处理该邮件(假设某个外部因素导致了异常,但该异常不再存在),还是继续处理邮箱中的下一封邮件

“恢复”是否保留当前消息

没有

文档的这一部分描述了参与者处理消息时引发异常时的行为:

消息发生了什么变化

如果在处理邮件时引发异常(即从邮箱中取出并移交给当前行为),则此邮件将丢失。重要的是要了解它不会放回邮箱。因此,如果您想重试消息处理,您需要通过捕获异常并重试流来自己处理它。确保您对重试次数进行了限制,因为您不希望系统处于活动锁定状态(因此会消耗大量cpu周期而无法取得进展)

上述行为适用于任何监督策略:恢复、重新启动或停止。(“升级”是经典Akka中的第四种策略,但是,)

“恢复”是否保留当前消息

没有

文档的这一部分描述了参与者处理消息时引发异常时的行为:

消息发生了什么变化

如果在处理邮件时引发异常(即从邮箱中取出并移交给当前行为),则此邮件将丢失。重要的是要了解它不会放回邮箱。因此,如果您想重试消息处理,您需要通过捕获异常并重试流来自己处理它。确保您对重试次数进行了限制,因为您不希望系统处于活动锁定状态(因此会消耗大量cpu周期而无法取得进展)

上述行为适用于任何监督策略:恢复、重新启动或停止。(“升级”是经典Akka中的第四种策略,但是,)