`
字母哥
  • 浏览: 70195 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

akka简单入门例子

阅读更多
spark版本里面用到的就是akka通信,2.0版本 已经不再使用akka了。这里写了一个简单的akka程序。
首先定义2个消息类
object MyRequest {
  var message:String=null
}

object MyResponse {
  var message:String=null
}

定义2个通信的actor
class Student(teacherRef:ActorRef) extends Actor{
  val log=Logging(context.system,this)
  def receive={
    case MyRequest =>{
      log.info(MyRequest.message)//teacherRef ! QuoteRequest2
      teacherRef ! MyRequest
    }
    case MyResponse =>{
      log.info(MyResponse.message)
    }
  }
}

class Teacher extends Actor {
  val log=Logging(context.system,this)
  def receive={
    case MyRequest =>{
      log.info("teacher已经收到信息=="+MyRequest.message)//teacherRef ! QuoteRequest2
      MyResponse.message="ok ,i get it"
      sender ! MyResponse
    }
  }
}

定义执行的主函数
object MyMain {
  def main(args: Array[String]): Unit = {
    val system = ActorSystem("HelloSystem")
    // default Actor constructor
    val teacherRef = system.actorOf(Props[Teacher], name = "myteacher")
    val studentRef = system.actorOf(Props(new Student(teacherRef)), name = "mystudent")
    MyRequest.message="这是我的邮件 请teacher查收"
    studentRef ! MyRequest
  }
}


运行结果如下:
[INFO] [10/25/2016 17:24:49.710] [HelloSystem-akka.actor.default-dispatcher-3] [akka://HelloSystem/user/mystudent] 这是我的邮件 请teacher查收
[INFO] [10/25/2016 17:24:49.710] [HelloSystem-akka.actor.default-dispatcher-2] [akka://HelloSystem/user/myteacher] teacher已经收到信息==这是我的邮件 请teacher查收
[INFO] [10/25/2016 17:24:49.710] [HelloSystem-akka.actor.default-dispatcher-2] [akka://HelloSystem/user/mystudent] ok ,i get it
0
2
分享到:
评论

相关推荐

    akka集群操作入门(scala版本).rar

    附件里是我写的利用scala语言对akka集群操作的入门例子,包含了akka cluster 节点启动、节点注册、节点剔除、节点通信等功能,亲测可用。附件里共有两个文件,一个为scala编写的操作源代码,一个为相关的资源文件。

    akka的教学

    为了快速理解 Akka 的基本工作原理,通常会从实现一个简单的“Hello World”示例开始。这个例子展示了如何定义 Actor 类、创建 Actor 系统、发送消息以及处理消息响应。 ##### 1.5 使用场景与部署方案 本节介绍了 ...

    akka-java-sample:Akka Java快速入门示例

    **快速入门步骤** 1. **创建ActorSystem**: 首先,你需要创建一个`ActorSystem`实例,这通常在应用程序的启动阶段完成。 ```java ActorSystem system = ActorSystem.create("MySystem"); ``` 2. **定义Actor**:...

    Akka-doc-zh:Akka 官方文档中文

    Akka使用实例 概述 术语,概念 Actor系统 什么是Actor? 监管与监控 Actor引用,路径与地址 位置透明性 Akka与Java内存模型 消息传递可靠性 配置 Actors Actors Akka类型 容错 调度器 邮箱 路由 ...

    akka-2.3.14.doc

    **1.6 Akka的使用案例实例** - **实时数据分析**:Akka可以用来构建高效的数据流处理系统,实现实时分析大量数据。 - **微服务架构**:Akka支持轻量级的服务间通信,非常适合构建分布式的微服务架构。 - **游戏...

    Akka Scala文档

    - **编写代码**:从简单的 Actor 开始,逐步学习 Akka 的核心概念和技术。 ##### 1.4 必不可少的 HelloWorld 示例 - **创建 Actor**:定义一个 Actor 类继承自 `Actor`。 - **发送消息**:使用 `tell` 方法向 Actor...

    Akka Actor Tutorial代码

    `ActorDemo`可能是Akka官方提供的一个快速入门示例,它可能包含了创建简单的Actor、发送消息、处理消息等基本操作。通过分析和运行这个示例,你可以更好地理解Akka Actor的工作原理。 总的来说,Akka Actor提供了一...

    基于AKKA的后台应用开发手册

    为了快速入门,我们首先定义一个简单的Actor,如代码2-1所示: ```scala import akka.actor.{Actor, Props} class Actor1 extends Actor { override def receive: PartialFunction[Any, Unit] = { case message:...

    akka-dddd-template:使用具有分布式域的CQRSES的Akka DDDD模板

    template 使用具有分布式域的CQRS / ES的Akka DDDD模板Scala版本= 2.11.6 Akka版本= 2.3.9 喷雾版本= 1.3.1背景分布式域驱动设计分布式域驱动设计采用了现有的DDD概念,并将其应用于旨在由参与者代表每个域实例的...

    scala讲解笔记 入门及进阶 PDF文档1-5

    第四部分:"Scala入门及进阶-part04-Akka Actor.pdf" 专注于Scala与Akka框架的集成,Akka是用于构建高度并发、分布式和容错系统的工具。Actor模型在Akka中扮演核心角色,这部分将解释Actor如何工作,以及如何创建、...

    changestream:在Akka上构建MySQL更改流

    变化流 Changestream通过流并将更改事件转换为可以在任何地方发布的JSON字符串,从... 然后,您将可以使用root密码“ password”访问本地主机端口3306上MySQL实例,并将Changestream配置为侦听事件。 Changestream在

    spark-cassandra-tweetanalytics:这是#spray-akka-tweetstreaming的延续项目。 使用Akka + Spray保存在Cassandra DB中的推文将使用Spark的Cassandra RDD进行分析

    入门步骤如果您的Casssadra数据库实例上没有可用的数据(推文),请首先执行以下步骤: 1.1检出#spray-akka-tweetstreaming( )1.2运行脚本./bin/start-streaming.sh“”(此脚本将开始流式传输您的tweet最喜欢的...

    scala入门精华讲义

    3. Akka Actor:Scala集成Akka框架,Actor模型用于实现并发和分布式计算,每个Actor有自己的消息队列,通过异步通信处理任务。 五、实例解析 本讲义中将通过实际案例,如创建简单的类、函数调用、RDD操作、...

    scala从入门到进阶

    本教程“Scala从入门到进阶”旨在帮助初学者逐步掌握这一现代编程工具的核心概念和高级用法。 1. **Scala基础** - **基本语法**:Scala的基础语法与Java类似,但更简洁。包括变量声明(val和var)、常量、数据类型...

    scala编程入门教材

    通过阅读《Scala编程入门教材》中的Scala_book.pdf,你可以深入理解这些概念,并通过实例学习如何在实际开发中应用它们。这将为你打下坚实的基础,进一步探索更高级的主题,如响应式编程、分布式系统设计或大数据...

    ifttt-shim:一个 API 网络服务器,充当 IFTTT 和您喜欢的任何通道 api 之间的垫片

    用于简单抽象的 Akka 演员。入门IFTTT 您将需要一个。 仔细阅读文档,然后阅读我的入门,了解如何使用您自己的自定义频道扩展 iftt-shim。运行应用程序ifttt-shim的目标是成为您可能希望与之集成的任何渠道的通用...

    a9s-java-pingpong

    这个项目是用Typesafe Activator模板"activator-akka-java-seed"构建的,它是一个专门为Java开发者设计的Akka入门模板。 【描述】中的关键知识点包括: 1. **Anynines**: Anynines是一个云服务提供商,专注于提供...

Global site tag (gtag.js) - Google Analytics