Scala 阿克卡有没有轻演员?
我的用例非常简单——在两个对象之间交换很少(<100)条消息,Scala actors在这方面做得非常好(重量轻,没有复杂的生命周期管理,随时开始/终止) 现在我从Scala演员迁移到Akka,但是我再也找不到那些轻量级演员了 有了Akka,我不仅需要为演员创作创建ActorSystem/道具,还需要关注ActorSystem的生命周期Scala 阿克卡有没有轻演员?,scala,akka,Scala,Akka,我的用例非常简单——在两个对象之间交换很少(
是否有不需要复杂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关闭,但也意味着您的工作是确保参与者在主程序返回时完成其工作 非常感谢您提供的额外信息!