`

scala akka actor —— Hello World

阅读更多

        最近在学习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?

 

 

0
0
分享到:
评论

相关推荐

    Akka Scala 学习高清原版pdf

    文档可能会提供入门示例,例如经典的Hello World程序,以便读者了解基本的设置和配置。 2. 术语和概念: - 介绍了Akka的基础概念,例如什么是actor?actor是Akka中处理消息的最小单元。 - actor系统是多个actors...

    akka-web-template:一个基于 sbt 的 scala Akka 项目,它设置了一个支持 REST 和 Comet 的 web 项目

    它包括一个简单的 hello-world 风格的演示应用程序和一个 actor 引导类。 它的灵感来自 efleming969 的 。 然而,它的不同之处在于它使用 sbt 依赖项而不是设置 maven 存储库使用 sbt 0.12.x 和 xsbt-web-plugin ...

    play-akka-hello-world:展示 Akka 演员的基本 Play 框架项目

    在 "play-akka-hello-world" 项目中,我们能看到如何在 Play 应用中使用 Akka actors。通常,Play 会配置一个 ActorSystem,它是 Akka 的入口点,管理所有 Actor 的生命周期。然后,定义 Actor 类并实现其行为,这...

    Akka Scala文档

    ##### 1.4 必不可少的 HelloWorld 示例 - **创建 Actor**:定义一个 Actor 类继承自 `Actor`。 - **发送消息**:使用 `tell` 方法向 Actor 发送消息。 - **接收消息**:在 Actor 内部定义处理逻辑。 - **启动 Actor*...

    面向Java开发者的Scala教程

    - **Actor模型**:Scala支持Akka框架,它基于Actor模型提供并发和分布式计算能力,这是Java中不直接提供的。 - **集合库**:Scala的集合库是其强大的功能之一,提供了丰富的操作和转换,优化了性能,支持函数式编程...

    akka2.0使用方法

    case "Hello" =&gt; println("World") case _ =&gt; println("Unknown message") } ``` 5. **Actor路径**:每个Actor都有一个唯一的路径,可以用来引用或发送消息给它。路径通常看起来像`/user/myActor`,其中`/user`...

    【学习 Scala】.pdf

    9. **Actor模型**:Scala还提供了Akka框架,它基于Actor模型,简化了分布式系统的构建,支持高效且容错的并发编程。 学习Scala不仅可以提升开发者在面向对象和函数式编程方面的技能,还能为进入大数据处理、分布式...

    akka-actors-examples:用Akka谈Actor基础的小样例程序

    在这里,我们定义了一个简单的`"Hello"`消息处理器,当Actor收到这个消息时,它会回传`"World"`给消息发送者。 **Actor之间的通信** Akka Actors通过`send`操作(即`!`操作符)进行异步通信。`!`操作符是非阻塞的...

    akka的教学

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

    akka java document

    在 Akka 的文档中,通常会提供一个简单的 HelloWorld 示例来展示如何创建 Actor 并发送消息。这个示例通常包括创建一个 Actor 类,定义处理消息的方法,然后启动 Actor 系统并创建 Actor 实例。 **1.5 使用场景与...

    Akka Essentials & code

    这里`myActor`就是新创建的Actor,它会响应"Hello"消息并回传"World"。 4. **消息传递** 演员之间的通信通过发送和接收消息完成,这些消息可以是任何不可变类型。`sender()`引用用于返回发送消息的Actor,可以...

    一些scala实例

    - **Actor模型:** Scala中的Akka框架基于Actor模型,提供了一种处理并发和分布式计算的有效方式。 - **Future和Promise:** Scala标准库提供了Future和Promise,方便异步编程。 6. **案例分析:** - **"hello...

    ScalaTutorial

    6. **Actor模型**:Scala通过Akka库支持Actor模型,这是一种处理并发和分布式计算的强大方式,它简化了线程管理和资源同步。 7. **表达式导向编程**:Scala鼓励使用表达式而非语句,使得代码更像数学公式,更具...

    Akka​ 的 .NET 开源实现 Akka.NET.zip

    Akka 是一个用 Scala 编写的库,用于简化编写容错的、高可伸缩性的 Java 和 Scala 的 Actor 模型应用。示例代码:using System; using System.Collections.Generic; using System.Linq; using System.Text; ...

    akka-2.3.14.doc

    在Akka的学习过程中,“Hello World”示例通常是理解Actor模型的第一步。这个简单的示例演示了如何创建一个Actor、发送消息以及处理这些消息的基本流程。 **1.5 使用案例与部署场景** Akka适用于多种不同的应用...

    akka-typed-example:以下博客文章中使用的Akka Typed快速示例

    - `src/main/scala`: Scala源代码,包含Akka Typed Actor的实现。 - `build.sbt`: SBT构建文件,用于管理依赖和构建项目。 - `README.md`: 项目说明,可能包含了关于如何运行示例的指导。 通过阅读和运行这个项目,...

    clickcounter-android-akka

    学习目标 此示例旨在作为任何计划使用 Scala 和开发基于 actor 的Android 应用程序的起点。 其学习目标是: 使用 Scala 开发 Android ...Akka 演员 hello world 示例 James Earl Douglas 的 SBTB 2014 演讲 James Earl

    Scala.in.Action

    - **Hello World**:通过编写第一个Scala程序来熟悉Scala的基本语法。 - **基本数据类型**:了解Scala中整型、浮点型、布尔型等基本数据类型的使用方法。 - **控制结构**:学习Scala中的条件语句和循环语句等控制...

    AkkaRemoteActorsHelloWorld:一个简单的“世界,你好”示例,展示了如何将远程角色与Akka一起使用

    Akka远程“ Hello,世界”示例顾名思义,这是Akka远程演员的一个简单的“ Hello,world”示例。 它显示了如何创建本地角色,远程角色以及如何在它们之间发送消息。假设条件就此代码而言,我假设您了解以下内容: ...

    mastering play framework for scala

    这部分还会讲解如何创建第一个“Hello, World!”应用,让读者快速上手。 2. **路由与控制器**:详细解析Play的路由系统,它是将URL映射到特定控制器的方法的关键。控制器是处理HTTP请求的主体,学习如何定义和编写...

Global site tag (gtag.js) - Google Analytics