栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Akka简单案例(1)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Akka简单案例(1)

一、pom依赖
      
        
            com.typesafe.akka
            akka-actor_2.11
            2.4.17
        

        
        
            com.typesafe.akka
            akka-remote_2.11
            2.4.17
        
二、SenderActor
import akka.actor.Actor

object SenderActor extends Actor {
  override def receive: Receive = {
    case "start" => {
      println("SenderActor: 接收到start消息")
      //发送一个submitTaskMessage消息给ReceiverActor
      // path 地址本地actor地址
      //akka://actorSystem定义的名字/user/actor的名字
      val receiverActor = context.actorSelection(path = "akka://actorSystem/user/receiverActor")
      //发送消息
      receiverActor ! SubmitTaskMessage("提交任务")
    }
    case SuccessSubmitTaskMessage(message) => {
      println(s"SenderActor接收到 ${message}")
    }
  }
}
三、receiverActor
import akka.actor.Actor


object ReceiverActor extends Actor {
  override def receive: Receive = {
    case SubmitTaskMessage(message) => {
      println(s"ReceiverActor:${message}")
      //回复一个消息给SenderActor sender引用消息发送者回复
      sender ! SuccessSubmitTaskMessage("成功提交任务")
    }
  }
}
四、MessageDefinition
//消息封装样例类
case class SubmitTaskMessage(message: String)

case class SuccessSubmitTaskMessage(message: String)
五、Entrance
import akka.actor.{ActorSystem, Props}
import com.typesafe.config.ConfigFactory

object Entrance {
  def main(args: Array[String]): Unit = {
    // 实现Acotr trait
    // 创建actorSystem
    val actorSystem = ActorSystem("actorSystem", ConfigFactory.load())
    // 加载 Actor
    val sendActor = actorSystem.actorOf(Props(SenderActor), "sendActor")
    val receiverActor = actorSystem.actorOf(Props(ReceiverActor), "receiverActor")
    sendActor ! "start"

  }
}

运行结果:
SenderActor: 接收到start消息
ReceiverActor:提交任务
SenderActor接收到 成功提交任务

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/672086.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号