case class State(id: Long, remain: Int) {
def take(t: Take) = copy(remain = remain - t.amount)
}
object StateService {
def getInitState(id: Long): Future[State]
}
sealed trait Evt
case class Init(id: Long) extends Evt
case class Take(id: Long, amount: Int) extends Evt
class FooActor extends PersistentActor {
var state: State
def receiveCommand = {
case Init(id) => ??? // how to
case t: Take => persistAsync(t) {case e => state = state.take(t)}
}
}
object FooActor {
}
をinitにpraticeをお勧めしますが、私は他のコマンドを受け入れる前に、俳優の状態を初期化できるかアッカは、一例として、 `PersistentActor`
を説明しましたか?
私はあなたの質問を得ることはできないと思います。どうしてあなたは 'State' varを守りたいのですか?イベントと更新メソッドで 'persist'メソッドを呼び出すことができます。それは世話をすることになりますか、何か不足していますか? –
@endeNeu 'state'は' futher'用に計画されています。例では – jilen