报告 actor 具有可变状态的情况。

示例:


  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))
    }
  }