2013-06-25 14 views
8

Używam Akka 2.1.4. Potrzebuję jednego z moich aktorów, żeby wysłał do siebie opóźniony komunikat.Akka Wyślij opóźnioną wiadomość do siebie nie może znaleźć niejawnego warunku wykonania

Próbowałem, od wewnątrz aktora receive:

context.system.scheduler.scheduleOnce(1 second, self, msg)

Jednak to nie skompilować, ponieważ nie może znaleźć ukrytą ExecutionContext. Skąd mogę to wziąć?

UWAGA: zdaję sobie sprawę, że faktyczny nadawca nie będzie moim aktorem, ale to jest w porządku, ponieważ nie muszę wiedzieć, kim jest nadawca.

Odpowiedz

13

Można również zrobić to w ten sposób:

class MyActor extends Actor{ 
    import context._ 
    ... 
} 

W ten sposób masz pewność, że otrzymujesz dyspozytora przypisany do tego aktora w przypadku gdy różni się od głównego dyspozytora dla systemu (która jest, co otrzymujesz rozwiązanie).

3

myślę Znalazłem go:

import myActorSystem.dispatcher 

context.system.scheduler.scheduleOnce(1 second, self, msg) 

teraz kompiluje.

Powiązane problemy