相关疑难解决方法(0)

如何将actor消息限制为特定类型?

Akka中,除了使用使用RPC样式编程模型的"Typed Actor"API之外,有没有办法将actor限制为特定的静态类型?

我可以在Akka中使用消息传递样式而不会在actor边界处丢弃静态类型安全吗?

例如,我想使用这样的代码:

sealed abstract class FooMessage
case object Foo extends FooMessage
case object Bar extends FooMessage

class FooActor extends Actor[FooMessage] {
  def receive = {
    case Foo => () // OK

    // Would raise a compiler error:
    // case s: String => error("Can't happen, String is not a subtype of FooMessage") 

  }
}

val fooActor = actorOf[FooActor]
fooActor ! Foo // OK

// Won't compile:
fooActor ! "Hello"
Run Code Online (Sandbox Code Playgroud)

也许人们必须扩展一些基本特征或者具有Either允许系统级消息(Exit等等)的构造.

scala actor akka

38
推荐指数
2
解决办法
5006
查看次数

你怎么知道你可以发送给演员的消息?

有没有标准化的方式来形式化我的scala/akka演员api?Imho,我需要了解实现以了解要发送的内容并不是一个好的选择.此外,如果实现已更改并且我的消息不再有效(不调用我认为它调用的操作),我不会收到任何警告或错误.

scala actor akka

3
推荐指数
1
解决办法
156
查看次数

标签 统计

actor ×2

akka ×2

scala ×2