是否需要从主管处明确阻止Akka演员?

蓝天

在我的主管演员中,子演员发送了一条消息以指示其完成。然后,我在onReceive方法中停止此actor:

@Override
public void onReceive(Object msg) {
    if (msg == Messages.SUCCESS) {          
        getContext().stop(getSender());
    } 
}

但这导致打印以下消息:

 [INFO] [10/24/2014 12:12:43.102] [Main-akka.actor.default-dispatcher-6] [akka://Main/user/app/$l] Message [akka.dispatch.sysmsg.Terminate] from Actor[akka://Main/user/app/$l#1444168887] to Actor[akka://Main/user/app/$l#1444168887] was not delivered. [6] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.

这是预期的行为吗?这些消息可以忽略吗?是否需要明确停止actor还是将其运行到完成后才停止并有资格进行垃圾回收?

更新:由于akka框架不会阻止actor,因此必须明确停止actor:

Akka:完成后有必要清理动态创建的参与者吗?

里德·斯宾塞

所报告的演员(akka:// Main / users / app / $ 1#14441688887)自从发出终止消息后就开始监视自己。这样做很好,但是在这种情况下,您应该希望此死信消息像往常一样。

你问:

这是预期的行为吗?

是的。

这些消息可以忽略吗?

是的。甚至可以通过akka.log-dead-letters在配置中将其设置为false来防止它们

是否需要明确停止actor还是将其运行到完成后才停止并有资格进行垃圾回收?

如果希望演员消失,则必须停止演员。这样做的通常方法是向其发送PoisonPill消息,默认情况下,该消息会导致队列中所有现有的消息都得到处理,然后在到达PoisonPill时,actor将停止并被丢弃。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

是否需要从主管处明确阻止Akka演员?

来自分类Dev

Akka演员阻止消息

来自分类Dev

故意阻止Akka演员

来自分类Dev

故意阻止Akka演员

来自分类Dev

如何确定Akka演员/主管等级?

来自分类Dev

Akka:如何让演员导致主管异常

来自分类Dev

Akka:如何让演员导致主管异常

来自分类Dev

Akka-是否有可能在失败的消息中通知演员的主管?

来自分类Dev

Akka演员的执行是否互斥?

来自分类Dev

akka:如何测试演员被阻止

来自分类Dev

是否需要从CD引导?

来自分类Dev

docker + gunicorn + nginx是否需要主管?

来自分类Dev

检查Scala / Akka演员是否已终止

来自分类Dev

如何为由system.actorOf创建的演员设置Akka主管

来自分类Dev

没有明确的转换(您是否缺少演员表)

来自分类Dev

AKKA演员

来自分类Dev

是否需要从GCM迁移到FCM?

来自分类Dev

在Play中,是否每个请求都产生了Akka演员?

来自分类Dev

了解Akka的主管策略

来自分类Dev

下属停止的Akka主管

来自分类Dev

停止演员中的Akka演员

来自分类Dev

我是否需要明确关闭连接?

来自分类Dev

如何从主管那里更新子演员的属性?

来自分类Dev

这个(char *)&x演员表的行为是否定义明确?

来自分类Dev

Akka:获取演员总数

来自分类Dev

处理Akka演员的错误

来自分类Dev

Scala Akka TCP演员

来自分类Dev

Akka演员测试

来自分类Dev

Akka演员选择