액터가 가변 상태인 사례를 보고합니다.
예:
import akka.actor._
class ActorImpl(private var counter: Int = 0) extends AbstractActor {
override def receive = {
case _ => counter += 1
}
}
빠른 수정 적용 후:
import akka.actor._
class ActorImpl(private val counter: Int = 0) extends AbstractActor {
override def receive = onMessage(counter)
private def onMessage(counter: Int): Receive = {
case _ => context.become(onMessage(counter + 1))
}
}