Akka静态使用

时间:2017-04-26 16:56:08

标签: akka akka-actor

我有一个默认配置的简单actor系统。

我有一个类扩展的Actor

class Test extend Actor {
  def receive: Receive = {
      case Foo(collection) => sender ! extract(collection)
  }

  private def extract(c: List[FooItem]): List[BarItem] = ???
}

此演员有一个伴侣对象

object Test {
  def props: Props = ???
}

这样做功能提取是否安全:

object Test {
  def props: Props = ???
  def extract(c: List[FooItem]): List[BarItem] = ???
}

并从另一位演员那里使用?

1 个答案:

答案 0 :(得分:1)

是的,可以在随播广告上定义方法,然后在actor类中导入并使用该方法。像这样的东西可以正常工作:

object Test {
  def props: Props = Props[Test]
  def extract(c: List[FooItem]): List[BarItem] = {
    . . .
  }
}

class Test extend Actor {
  import Test._
  def receive: Receive = {
    case Foo(collection) => sender ! extract(collection)
  }
}