在这篇文章里记录了akka的hello world,其中akka是作为一个库,或者说一个jar包的形式放在classpath上使用的,下面说一下使用 Microkernel(微内核)的方式来初始化Actor系统
1. 首先从http://akka.io/downloads/下载一份releases版本,解压后,设置好AKKA_HOME,其中的deploy目录用来放应用的jar包,bin目录下放的是要启动内核使用的脚本
2. 创建scala maven项目,不知道的可以参见http://tbwuming.iteye.com/blog/2070053,需要添加依赖
<akka.version>2.3.2</akka.version> <dependency> <groupId>com.typesafe.akka</groupId> <artifactId>akka-actor_2.10</artifactId> <version>${akka.version}</version> </dependency> <dependency> <groupId>com.typesafe.akka</groupId> <artifactId>akka-kernel_2.10</artifactId> <version>${akka.version}</version> </dependency>
3. 要以微内核的方式运行,需要创建Bootable的子类,实现startup和shutdown方法,这两个方法分别是应用启动时和关闭时进行调用的
import akka.actor.{ Actor, ActorSystem, Props } import akka.kernel.Bootable case object Start class HelloActor extends Actor { val worldActor = context.actorOf(Props[WorldActor]) def receive = { case Start => worldActor ! "Hello" case message: String => println("Received message '%s'" format message) } } class WorldActor extends Actor { def receive = { case message: String => sender ! (message.toUpperCase + " world!") } } class HelloKernel extends Bootable { val system = ActorSystem("hellokernel") def startup = { println("startup, xxoo") system.actorOf(Props[HelloActor]) ! Start } def shutdown = { println("shutdown, xxoo") system.shutdown() } }
4. 运行,使用 mvn package打成jar包,将jar包放到deploy目录下,之后使用下面命令运行,如果想关闭,这使用Ctrl + C进行关闭
$ bin/akka org.wuming.akka.hello.kernel.HelloKernel
5. 运行结果,截个图吧
相关推荐
Akka正是用Scala编写的,并且充分展示了Scala在并发编程方面的优势。 #### 2. Akka的核心概念:Actor模型 - **Actor模型**:在Akka中,Actor是最基本的并发单元。每个Actor都独立运行并且通过消息传递与其他Actor...
Akka框架就是用Scala编写的,因此,使用Scala来编写Akka应用程序可以充分利用语言的强大特性和表达能力,如类型安全、模式匹配和高阶函数等。 在"响应式架构 消息模式Actor实现与Scala.Akka应用集成"这个主题中,...
Scala Akka是一个强大的工具包,用于构建高度并发、分布式和反应式的应用程序。它基于actor模型,使得在Java虚拟机(JVM)上编写这类程序变得简单高效。Akka的使用通常涉及以下几个核心概念: 1. **Actor系统**:...
**IDEA集成Scala编程环境详解** 在现代软件开发中,IntelliJ IDEA作为一款强大的Java集成开发环境(IDE),也提供了对Scala语言的完美支持。本文将详细介绍如何在IntelliJ IDEA中集成Scala开发环境,以便高效地进行...
标题中的“用Scala写的akka actor简单demo”指的是一个使用Scala编程语言编写的Akka Actor系统的基本示例。Akka是轻量级、基于actor模型的框架,它用于构建高度并发、分布式和容错的应用程序。Scala是多范式编程语言...
Scala 是一门多范式(multi-paradigm)的编程语言,设计初衷是要集成面向对象编程和函数式编程的各种特性。 Scala 运行在Java虚拟机上,并兼容现有的Java程序。 Scala 源代码被编译成Java字节码,所以它可以运行于...
尽管描述中提到不支持Scala,但Akka的典型实现是使用Scala编写的,因此我们将以Scala为背景来探讨这个项目。 **Akka Actor系统** 1. **Actor模型**: Akka的核心是Actor模型,它提供了一种处理并发和异步操作的机制...
- Akka扩展,如微内核和断路器,提供了额外的高级特性。 6. 常见模式和实践: - 消息节流,限制消息的接收速率以避免过载。 - 工作负载平衡,跨多个节点分配任务以优化资源使用。 - 有序终止,用于确保actor...
在本教程中,我们将深入探讨如何使用VSCode(Visual Studio Code)创建一个名为"Scala-SBT-Helloworld"的Scala项目,并通过sbt进行管理。 首先,我们需要确保已经安装了以下软件: 1. **Scala SDK**: Scala运行环境...
Harness reactive programming to build scalable and fault-tolerant distributed systems using Scala and Akka About This Book Use the concepts of reactive programming to build distributed systems ...
在《响应式架构++消息模式Actor实现与Scala.Akka应用集成+》中,作者沃恩·弗农深入探讨了如何利用Akka和Scala来构建响应式的应用程序。他可能详细讲解了以下知识点: 1. **Actor系统**:介绍Akka中的Actor系统是...
Reactive Programming with Scala and Akka 英文mobi 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除
响应式架构 消息模式Actor实现与Scala.Akka应用集成 高清扫描版
在这个主题中,我们将深入探讨消息模式下的Actor实现,以及如何在Scala中利用Akka框架进行应用集成。 首先,让我们理解什么是Actor模型。Actor模型是并发计算的一种理论框架,由Carl Hewitt在1973年提出。在该模型...
akka-http-microservice, 在 Scala & akka http中,编写了( 微型) 服务的示例 Akka HTTP microservice示例 这个项目演示了 Akka HTTP插件库和,以编写简单的REST ( 微型) 。 项目显示了大多数基于 Akka http的项目...