Scala 阿克卡有没有轻演员?

Scala 阿克卡有没有轻演员?,scala,akka,Scala,Akka,我的用例非常简单——在两个对象之间交换很少(

我的用例非常简单——在两个对象之间交换很少(<100)条消息,Scala actors在这方面做得非常好(重量轻,没有复杂的生命周期管理,随时开始/终止)

现在我从Scala演员迁移到Akka,但是我再也找不到那些轻量级演员了

有了Akka,我不仅需要为演员创作创建ActorSystem/道具,还需要关注ActorSystem的生命周期


是否有不需要复杂ActorSystem生命周期管理的Akka Actor?

您可以在全局单例对象中创建自己的默认ActorSystem,而不必手动停止它-它将在程序关闭时停止

UPD

有关如何防止
ActorSystem
阻止JVM关闭的解决方案,请参阅by

object global {
  import com.typesafe.config.ConfigFactory
  // From answer by Roland Kuhn
  implicit lazy val actorSystem: ActorSystem =
    ActorSystem("default", ConfigFactory.parseString("akka.daemonic=on"))
}
您可以使用
包对象
实现此目的

您还可以使用以下用于轻量级演员创建语法:

import ActorDSL._
import global._

val a = actor( new Act {
  become {
      case msg => ...
  }
})

参与者是活动的处理实体,因此在不再需要时需要关闭它们。通过设置
akka.daemonic=on
,您可以使ActorSystem的生命周期隐式化,这意味着它不会阻止JVM关闭,但也意味着您的工作是确保参与者在主程序返回时完成其工作

非常感谢您提供的额外信息!