您的位置:首页 > 大数据

大数据系列修炼-Scala课程108

2016-10-21 16:50 190 查看
大数据系列修炼-Scala课程108

核心内容:

1、Akka中的Actor消息的处理、消息的回复、消息的转发

1、Akka中的Actor消息的处理、消息的回复、消息的转发
1>在Actor当中,消息的处理一般都是通过receive中的偏函数+模式匹配的方式进行处理的。

2>在Akka当中,若要回复消息给消息的发送者,首先要获得消息发送者的代理(ActorRef),在Akka当中,提供了Sender这样的

一个ActorRef,指向当前消息的发送者。

可能存在一个风险:在消息传递完之后,消息的发送者可能就不复存在了,此时若要给消息的发送者发送消息,ActorSystem会

报出deadletter。

3>通过forward的方式我们可以进行消息的转发。

实例程序1: 消息的处理

override  def receive: Receive =
{
case message:ReduceData =>
{
aggregateInMemoryReduce(message.getHashMap())
}
case message:Result  => println(finalHashMap.toString)   //将最终结果进行输出
case  _ => //否则的话不做任何的处理
}


实例程序2: 给消息的发送者回复消息

override def receive =
{
case msg:String =>
{
println("String is:" + msg)
sender.!("the message received!")
}
}


如有问题,欢迎留言指正!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: