2013-03-28 14 views
15

Próbuję uzyskać bardzo prosty powtarzający się przebieg pętli funkcja, według tych próbek:problemy z Akka 2.1.2 Scheduler („system” nie rozpoznane)

http://doc.akka.io/docs/akka/2.1.2/scala/scheduler.html

Kod:

import akka.actor.Actor 
import akka.actor.Props 
import scala.concurrent.duration._ 

object Main extends Application { 
    val system = akka.actor.ActorSystem("system") // this was missing! 
    import system.dispatcher 

    system.scheduler.schedule(0 milliseconds, (10*1000) milliseconds, { 
    println("click!") 
    }) 
} 

otrzymuję (SBT):

> .../src/Main.scala:34: not found: value system [error]  import 
> system.dispatcher [error]   ^[error] 
> .../src/Main.scala:36: not found: value system [error]  
> system.scheduler.schedule(0 milliseconds /*initial delay*/, 
> (entry.secs*1000) milliseconds /*delay between*/, { [error]  ^

Gdzie jest system powinien pochodzić?

Uzupełnienie:

Mam kod w obrębie głównego) ('' funkcji, a ja nie odziedziczyła nic z Actor lub ActorSystem. Chodzi mi o to, że chciałbym zaplanować funkcje, ale nie wchodzę w to w aktorów. Czy ramy myślenia muszą pochodzić od czegoś (jeśli tak, to rodzaj-powinien powiedzieć to?).

+1

'ActorSystem' ma nic do dziedziczyć, ale to środowisko wykonawcze dla aktorów i między innymi z harmonogramu. –

+1

Czy są jakieś praktyczne różnice z "import context.dispatcher", ponieważ aktor już ma ten kontekst? –

+0

@ Daniel. Prawdopodobnie nie - masz rację. Całe to pytanie wydaje się głupie teraz, gdy bardziej interesuję się Akką. Myślę, że Futures byłby sposobem na zrobienie tego rodzaju rzeczy. – akauppi

Odpowiedz

29

Wygląda na to brakuje od następującego wyrażenia przed :

val system = akka.actor.ActorSystem("system") 
+1

Tak, nieporozumienie pochodzi stąd, że "import system.dispatcher" wygląda jak import pakietu, ale po prostu powoduje, że pole dyspozytora systemu jest dostępne w zakresie. –

+6

To robi, dzięki. Czy nie jest to smutne, że trzeba szukać * godzin * dla tego rodzaju informacji. Strona dokumentu Akka naprawdę tęskni za tą linią! Dziękuję tym bardziej! :) – akauppi