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
分享到:
相关推荐
这是对akka scala入门的介绍,可以比照书中的例子进行模拟操作。
附件里是我写的利用scala语言对akka集群操作的入门例子,包含了akka cluster 节点启动、节点注册、节点剔除、节点通信等功能,亲测可用。附件里共有两个文件,一个为scala编写的操作源代码,一个为相关的资源文件。
Akka使用实例 概述 术语,概念 Actor系统 什么是Actor? 监管与监控 Actor引用,路径与地址 位置透明性 Akka与Java内存模型 消息传递可靠性 配置 Actors Actors Akka类型 容错 调度器 邮箱 路由 ...
阿卡型的例子以下博客文章中使用了Akka Typed的快速示例: :
这本书可以帮助你快速掌握非常棒的并发框架Akka和Actor编程模式。采用强大的Scala语言,Akka的Actor模式可以帮助你减少并发程序的...本书由官方发布,内容简洁,适合新手入门,照着书中的例子可以快速学习如何使用。
template 使用具有分布式域的CQRS / ES的Akka DDDD模板Scala版本= 2.11.6 Akka版本= 2.3.9 喷雾版本= 1.3.1背景分布式域驱动设计分布式域驱动设计采用了现有的DDD概念,并将其应用于旨在由参与者代表每个域实例的...
变化流 Changestream通过流并将更改事件转换为可以在任何地方发布的JSON字符串,从... 然后,您将可以使用root密码“ password”访问本地主机端口3306上MySQL实例,并将Changestream配置为侦听事件。 Changestream在
入门步骤如果您的Casssadra数据库实例上没有可用的数据(推文),请首先执行以下步骤: 1.1检出#spray-akka-tweetstreaming( )1.2运行脚本./bin/start-streaming.sh“”(此脚本将开始流式传输您的tweet最喜欢的...
用于简单抽象的 Akka 演员。入门IFTTT 您将需要一个。 仔细阅读文档,然后阅读我的入门,了解如何使用您自己的自定义频道扩展 iftt-shim。运行应用程序ifttt-shim的目标是成为您可能希望与之集成的任何渠道的通用...
通过Reactive Mongo和Akka开箱即用地集成数据库,实现了CRUD API密钥安全性 内置JSON <-> Case类通过play-json进行编组和验证 ...和更多! 入门 Respite带有脚手架工具,使创建服务变得轻而易举。 在开始之前,...
入门在本地运行为了进行开发,可以使用以下其他虚拟角色在本地运行该服务: gradle -p store appRun这需要一个正在运行的IPFS实例。 要使用模拟的IPFS实例运行服务,请运行: MOCK_IPFS="true" gradle -p store app...
东西板 ThingsBoard是用于数据收集,处理,可视化和设备管理的开源物联网平台。 文献资料 ThingsBoard文档托管在。 ...入门 遵循本在几分钟之内收集并可视化您的IoT数据。 支持 执照 该项目根据。