2013-06-25 15 views
8

Sto usando Akka 2.1.4. Ho bisogno di uno dei miei attori per inviare un messaggio in ritardo a se stesso.Akka invia un messaggio differito a self non può trovare implicita ExecutionContext

ho cercato, dall'interno del receive attore:

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

Tuttavia, non si compila, dal momento che non riesce a trovare l'ExecutionContext implicita. Da dove posso prenderlo?

NOTA: sono consapevole che il mittente effettivo non sarà il mio attore, ma va bene, poiché non è necessario sapere chi è il mittente.

risposta

13

Si potrebbe anche fare in questo modo:

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

In questo modo si ha la certezza che si stanno ottenendo il dispatcher assegnato a che l'attore nel caso in cui si differenzia dal dispatcher principale per il sistema (che è quello che si stanno ottenendo con la soluzione).

3

Credo di aver trovato:

import myActorSystem.dispatcher 

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

Ora si compila.

Problemi correlati