0

akka tutorialに従っています。基本的に、 a listener、 a master、およびいくつかworkerの s があります。

class Listener extends Actor {
  def receive = {
    case Report => // message from Master, print result, shutdown system
  }
}

class Master extends Actor {
  def receive = {
    case Calculate => // ask Workers to calculate
    case Result => // message from Workers, aggregate results. 
                   // if all Workers have reported back, stop self and children,
                   // and send Report message to Listener
}

class Worker extends Actor {
  def receive = {
    case Calculate => // work, send result back to Master
  }
}

Listener私の質問は、どうすれば外の世界から結果を得ることができますか? Reportメッセージが であると仮定しますcase class Report(results: Int)

4

2 に答える 2

0

私はそれを理解しました。メッセージListenerを受信したときに外部セッターを呼び出すだけです。Report

object DataHolder {

  private var _data: Int = _

  def data = _data // getter
  def data_= (i: Int): Unit = _data = i // setter
}

class Listener extends Actor {
  def receive = {
    case Report(results) = {
      DataHolder.data = results // call external setter here
    }
  }
}
于 2013-09-12T20:12:48.263 に答える