加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

scala – 如何从2.0开始启动Akka演员?

发布时间:2020-12-16 09:22:32 所属栏目:安全 来源:网络整理
导读:我正在使用Akka演员,我试图更新我的代码以使用最新的2.0里程碑. API改变了一些,例如,现在,Actors的创建通过一种叫做ActorSystem的东西来工作. 启动和停止演员也改变了 – 后者可以通过ActorSystems方法.stop(..)和.shutdown().但我可以为我的生活找出如何启
我正在使用Akka演员,我试图更新我的代码以使用最新的2.0里程碑. API改变了一些,例如,现在,Actors的创建通过一种叫做ActorSystem的东西来工作.

启动和停止演员也改变了 – 后者可以通过ActorSystems方法.stop(..)和.shutdown().但我可以为我的生活找出如何启动他们…
文件很好,但似乎缺少一些重点.我觉得有点愚蠢的问题,但是如何在Akka 2.0环境中启动演员?如果我明白了,当这位父母开始时,有“父母”的演员就会开始 – 但顶级演员呢?

解决方法

在Akka 2.0中,不需要一个start()方法,因为只要在ActorSystem(或另一个Actor)的上下文中实例化Actors即可启动,但您需要使用以下提供的方法之一来实例化它们ActorSystem或Actor的上下文.

所以,如果你有一个名为MyClass的Actor子类,你可以启动它:

val system = ActorSystem()
val myActor = system.actorOf(Props[MyActor])

或者,如果你的演员拿到构造函数:

val myActor = system.actorOf(Props(new MyActor("arg1"))

或者,如果你在另一位演员身上,

val myActor = context.actorOf(Props(new Actor("arg1"))

然后你的演员可以立即收到消息,例如

myActor ! MyMessage

即使您的顶级演员也会立即启动,因为2.0中的所有演员都会自动进入监控层级.一旦演员用ActorSystem实例化,它就可以接收消息了.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读