Tworzę wiele cech, które rozszerzają Aktora. Następnie chcę stworzyć klasę aktorów, która wykorzystuje niektóre z tych cech. Jednak nie jestem pewien, jak połączyć metody odbierania ze wszystkimi cechami w metodzie odbierania klasy Aktor.układanie wielu cech w akka Aktorzy
Cechy:
trait ServerLocatorTrait extends Actor {
def receive() = {
case "s" => println("I'm server ")
}
}
trait ServiceRegistrationTrait extends Actor {
def receive() = {
case "r" => println("I'm registration ")
}
}
aktor:
class FinalActor extends Actor with ServiceRegistrationTrait with ServerLocatorTrait {
override def receive = {
super.receive orElse ??? <--- what to put here
}
}
Teraz, jeśli wyślę "r"
i "s"
do FinalActor
idzie tylko w ServerLocatorTrait
- który jest ostatnią cechą dodał. Więc sposób to działa w tej chwili jest to, że uważa, że bardzo ostatnia cecha dodał, więc w tym przypadku ServerLocatorTrait
Pytanie:
Jak połączyć metody odbioru ze wszystkich cech w FinalActor
?
PS - Widziałem aktorów z react
przykład: http://www.kotancode.com/2011/07/19/traits-multiple-inheritance-and-actors-in-scala/ ale to nie to co muszę
możliwe duplikat [Scala wieżowych cecha wzór z aktorów Akka] (http://stackoverflow.com/questions/18124643/scala-stackable-trait-pattern-with-akka-actors) – cmbaxter
@cmbaxter Nie widzę, jak to może być duplikat tego. Może to OP może wykorzystać to, co wybrałem jako rozwiązanie. – Adrian