最近在学习scala语言,顺便看了下scala应用的最漂亮的开源项目之一:Akka,关于Akka是什么东西,Google一下,下面记录一个Hello World的例子学习一下简单的收发消息
1. 创建scala maven项目,按照 http://tbwuming.iteye.com/blog/2070053的操作即可
2. maven依赖
<akka.version>2.3.2</akka.version> <dependency> <groupId>com.typesafe.akka</groupId> <artifactId>akka-actor_2.10</artifactId> <version>${akka.version}</version> </dependency>
3. 首先创建一个HelloActor,从Actor继承而来,需要实现receive方法,用来接收消息,如果是字符串hello则打印消息来源和名字,如果是其他的则打印 huh?
import akka.actor.ActorRef import akka.actor.Actor class HelloActor(name: String) extends Actor { def receive = { case "hello" => println("Hello from %s".format(name)) case _ => println("%s, huh?".format(name)) } }
4. 创建一个main,首先创建一个ActorSystem来初始化系统,然后使用actorOf来创建一个Actor的实例,创建实例之后就可以发送消息了,! 是发送消息的符号,
import akka.actor.ActorSystem import akka.actor.Props object HelloMain extends App { val system = ActorSystem("HelloSystem") // 如果HelloActor不带构造参数,这可以这么使用 // val helloActor = system.actorOf(Props[HelloActor], name = "helloactor") // HelloActor带构造参数的 val helloActor = system.actorOf(Props(new HelloActor("Jimmy")), name = "helloactor") helloActor ! "hello" helloActor ! "buenos dias" }
5. 运行 Run As -> Scala Application 就可以了,输出结果如下:
Hello from Jimmy
Jimmy, huh?
相关推荐
文档可能会提供入门示例,例如经典的Hello World程序,以便读者了解基本的设置和配置。 2. 术语和概念: - 介绍了Akka的基础概念,例如什么是actor?actor是Akka中处理消息的最小单元。 - actor系统是多个actors...
它包括一个简单的 hello-world 风格的演示应用程序和一个 actor 引导类。 它的灵感来自 efleming969 的 。 然而,它的不同之处在于它使用 sbt 依赖项而不是设置 maven 存储库使用 sbt 0.12.x 和 xsbt-web-plugin ...
在 "play-akka-hello-world" 项目中,我们能看到如何在 Play 应用中使用 Akka actors。通常,Play 会配置一个 ActorSystem,它是 Akka 的入口点,管理所有 Actor 的生命周期。然后,定义 Actor 类并实现其行为,这...
##### 1.4 必不可少的 HelloWorld 示例 - **创建 Actor**:定义一个 Actor 类继承自 `Actor`。 - **发送消息**:使用 `tell` 方法向 Actor 发送消息。 - **接收消息**:在 Actor 内部定义处理逻辑。 - **启动 Actor*...
- **Actor模型**:Scala支持Akka框架,它基于Actor模型提供并发和分布式计算能力,这是Java中不直接提供的。 - **集合库**:Scala的集合库是其强大的功能之一,提供了丰富的操作和转换,优化了性能,支持函数式编程...
case "Hello" => println("World") case _ => println("Unknown message") } ``` 5. **Actor路径**:每个Actor都有一个唯一的路径,可以用来引用或发送消息给它。路径通常看起来像`/user/myActor`,其中`/user`...
9. **Actor模型**:Scala还提供了Akka框架,它基于Actor模型,简化了分布式系统的构建,支持高效且容错的并发编程。 学习Scala不仅可以提升开发者在面向对象和函数式编程方面的技能,还能为进入大数据处理、分布式...
在这里,我们定义了一个简单的`"Hello"`消息处理器,当Actor收到这个消息时,它会回传`"World"`给消息发送者。 **Actor之间的通信** Akka Actors通过`send`操作(即`!`操作符)进行异步通信。`!`操作符是非阻塞的...
为了快速理解 Akka 的基本工作原理,通常会从实现一个简单的“Hello World”示例开始。这个例子展示了如何定义 Actor 类、创建 Actor 系统、发送消息以及处理消息响应。 ##### 1.5 使用场景与部署方案 本节介绍了 ...
在 Akka 的文档中,通常会提供一个简单的 HelloWorld 示例来展示如何创建 Actor 并发送消息。这个示例通常包括创建一个 Actor 类,定义处理消息的方法,然后启动 Actor 系统并创建 Actor 实例。 **1.5 使用场景与...
这里`myActor`就是新创建的Actor,它会响应"Hello"消息并回传"World"。 4. **消息传递** 演员之间的通信通过发送和接收消息完成,这些消息可以是任何不可变类型。`sender()`引用用于返回发送消息的Actor,可以...
- **Actor模型:** Scala中的Akka框架基于Actor模型,提供了一种处理并发和分布式计算的有效方式。 - **Future和Promise:** Scala标准库提供了Future和Promise,方便异步编程。 6. **案例分析:** - **"hello...
6. **Actor模型**:Scala通过Akka库支持Actor模型,这是一种处理并发和分布式计算的强大方式,它简化了线程管理和资源同步。 7. **表达式导向编程**:Scala鼓励使用表达式而非语句,使得代码更像数学公式,更具...
Akka 是一个用 Scala 编写的库,用于简化编写容错的、高可伸缩性的 Java 和 Scala 的 Actor 模型应用。示例代码:using System; using System.Collections.Generic; using System.Linq; using System.Text; ...
在Akka的学习过程中,“Hello World”示例通常是理解Actor模型的第一步。这个简单的示例演示了如何创建一个Actor、发送消息以及处理这些消息的基本流程。 **1.5 使用案例与部署场景** Akka适用于多种不同的应用...
- `src/main/scala`: Scala源代码,包含Akka Typed Actor的实现。 - `build.sbt`: SBT构建文件,用于管理依赖和构建项目。 - `README.md`: 项目说明,可能包含了关于如何运行示例的指导。 通过阅读和运行这个项目,...
学习目标 此示例旨在作为任何计划使用 Scala 和开发基于 actor 的Android 应用程序的起点。 其学习目标是: 使用 Scala 开发 Android ...Akka 演员 hello world 示例 James Earl Douglas 的 SBTB 2014 演讲 James Earl
- **Hello World**:通过编写第一个Scala程序来熟悉Scala的基本语法。 - **基本数据类型**:了解Scala中整型、浮点型、布尔型等基本数据类型的使用方法。 - **控制结构**:学习Scala中的条件语句和循环语句等控制...
Akka远程“ Hello,世界”示例顾名思义,这是Akka远程演员的一个简单的“ Hello,world”示例。 它显示了如何创建本地角色,远程角色以及如何在它们之间发送消息。假设条件就此代码而言,我假设您了解以下内容: ...
这部分还会讲解如何创建第一个“Hello, World!”应用,让读者快速上手。 2. **路由与控制器**:详细解析Play的路由系统,它是将URL映射到特定控制器的方法的关键。控制器是处理HTTP请求的主体,学习如何定义和编写...