使用SBT开发Akka第一个案例源码解析消息、main入口、MasterActor

学习了使用SBT开发Akka第一个案例源码解析消息、main入口、MasterActor,message中有mapdata文件,有对单词级数、单词切分、local单词统计的类;应用ActorSystem 创建整个AKKa的框架,创建具体的MasterActor,应用!发信息;MasterActor创建 aggregateActor, reduceActor, mapActor。

案例如下:

package akka.dt.app.scala.messages

import java.util.{HashMap, ArrayList}

class Word(val word:String, Val count: Integer)

case class Result

class MapData(val dataList: ArrayList[word])

class ReduceData(val reduceDataMap: HashMap[string,Integer])

def main(args:Array[String]){

  val _system=ActorSystem("HellowAkka")

  val master = _system.actorOf(ProPs[MasterActor], name="master")

  master !   "My name is Rocky"

  master !   "Today, I'm going to read a news article for you."

  master !   "I hope you'll like it."

  Thread.sleep(500)

  master ! new Result

  Thread.sleep(500)

  _system.shutdown

}

class MasterActor extend Actor {

  val aggregoteActor:ActorRef=context.actorOf(Props[AggregateActor], name="aggregate")

  val reduceActor:ActorRef=context.actorOf(Props(new ReduceActor(AggregateActor), name="reduce")

  val mapActor:ActorRef=context.actorOf(Props(new MapActor(reduceActor), name="map")

   def receive: Receive={

   case message:String=>

     mapActor! message

   case message:Result =>

    aggregateActor ! message

   case _=>

 }

}

 DT大数据梦工厂Scala视频于今日更新突破100集!风雨同舟,感谢各位大数据爱好者的持续学习和支持!(DT大数据梦工厂1至100集scala的所有视频、PPT和代码在百度云盘的链接:http://url.cn/fSFPjS

posted on 2015-09-10 12:43  l_time  阅读(382)  评论(0)    收藏  举报

导航