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
分享到:
相关推荐
附件里是我写的利用scala语言对akka集群操作的入门例子,包含了akka cluster 节点启动、节点注册、节点剔除、节点通信等功能,亲测可用。附件里共有两个文件,一个为scala编写的操作源代码,一个为相关的资源文件。
为了快速理解 Akka 的基本工作原理,通常会从实现一个简单的“Hello World”示例开始。这个例子展示了如何定义 Actor 类、创建 Actor 系统、发送消息以及处理消息响应。 ##### 1.5 使用场景与部署方案 本节介绍了 ...
**快速入门步骤** 1. **创建ActorSystem**: 首先,你需要创建一个`ActorSystem`实例,这通常在应用程序的启动阶段完成。 ```java ActorSystem system = ActorSystem.create("MySystem"); ``` 2. **定义Actor**:...
Akka使用实例 概述 术语,概念 Actor系统 什么是Actor? 监管与监控 Actor引用,路径与地址 位置透明性 Akka与Java内存模型 消息传递可靠性 配置 Actors Actors Akka类型 容错 调度器 邮箱 路由 ...
**1.6 Akka的使用案例实例** - **实时数据分析**:Akka可以用来构建高效的数据流处理系统,实现实时分析大量数据。 - **微服务架构**:Akka支持轻量级的服务间通信,非常适合构建分布式的微服务架构。 - **游戏...
- **编写代码**:从简单的 Actor 开始,逐步学习 Akka 的核心概念和技术。 ##### 1.4 必不可少的 HelloWorld 示例 - **创建 Actor**:定义一个 Actor 类继承自 `Actor`。 - **发送消息**:使用 `tell` 方法向 Actor...
`ActorDemo`可能是Akka官方提供的一个快速入门示例,它可能包含了创建简单的Actor、发送消息、处理消息等基本操作。通过分析和运行这个示例,你可以更好地理解Akka Actor的工作原理。 总的来说,Akka Actor提供了一...
为了快速入门,我们首先定义一个简单的Actor,如代码2-1所示: ```scala import akka.actor.{Actor, Props} class Actor1 extends Actor { override def receive: PartialFunction[Any, Unit] = { case message:...
template 使用具有分布式域的CQRS / ES的Akka DDDD模板Scala版本= 2.11.6 Akka版本= 2.3.9 喷雾版本= 1.3.1背景分布式域驱动设计分布式域驱动设计采用了现有的DDD概念,并将其应用于旨在由参与者代表每个域实例的...
第四部分:"Scala入门及进阶-part04-Akka Actor.pdf" 专注于Scala与Akka框架的集成,Akka是用于构建高度并发、分布式和容错系统的工具。Actor模型在Akka中扮演核心角色,这部分将解释Actor如何工作,以及如何创建、...
变化流 Changestream通过流并将更改事件转换为可以在任何地方发布的JSON字符串,从... 然后,您将可以使用root密码“ password”访问本地主机端口3306上MySQL实例,并将Changestream配置为侦听事件。 Changestream在
入门步骤如果您的Casssadra数据库实例上没有可用的数据(推文),请首先执行以下步骤: 1.1检出#spray-akka-tweetstreaming( )1.2运行脚本./bin/start-streaming.sh“”(此脚本将开始流式传输您的tweet最喜欢的...
3. Akka Actor:Scala集成Akka框架,Actor模型用于实现并发和分布式计算,每个Actor有自己的消息队列,通过异步通信处理任务。 五、实例解析 本讲义中将通过实际案例,如创建简单的类、函数调用、RDD操作、...
本教程“Scala从入门到进阶”旨在帮助初学者逐步掌握这一现代编程工具的核心概念和高级用法。 1. **Scala基础** - **基本语法**:Scala的基础语法与Java类似,但更简洁。包括变量声明(val和var)、常量、数据类型...
通过阅读《Scala编程入门教材》中的Scala_book.pdf,你可以深入理解这些概念,并通过实例学习如何在实际开发中应用它们。这将为你打下坚实的基础,进一步探索更高级的主题,如响应式编程、分布式系统设计或大数据...
用于简单抽象的 Akka 演员。入门IFTTT 您将需要一个。 仔细阅读文档,然后阅读我的入门,了解如何使用您自己的自定义频道扩展 iftt-shim。运行应用程序ifttt-shim的目标是成为您可能希望与之集成的任何渠道的通用...
这个项目是用Typesafe Activator模板"activator-akka-java-seed"构建的,它是一个专门为Java开发者设计的Akka入门模板。 【描述】中的关键知识点包括: 1. **Anynines**: Anynines是一个云服务提供商,专注于提供...