`

scala akka Microkernel(微内核) —— Hello World

阅读更多

        在这篇文章里记录了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. 运行结果,截个图吧



 

  • 大小: 147.8 KB
0
1
分享到:
评论

相关推荐

    scala akka

    Akka正是用Scala编写的,并且充分展示了Scala在并发编程方面的优势。 #### 2. Akka的核心概念:Actor模型 - **Actor模型**:在Akka中,Actor是最基本的并发单元。每个Actor都独立运行并且通过消息传递与其他Actor...

    响应式架构 消息模式Actor实现与Scala.Akka应用集成

    Akka框架就是用Scala编写的,因此,使用Scala来编写Akka应用程序可以充分利用语言的强大特性和表达能力,如类型安全、模式匹配和高阶函数等。 在"响应式架构 消息模式Actor实现与Scala.Akka应用集成"这个主题中,...

    Scala Akka项目源码

    Scala Akka是一个强大的工具包,用于构建高度并发、分布式和反应式的应用程序。它基于actor模型,使得在Java虚拟机(JVM)上编写这类程序变得简单高效。Akka的使用通常涉及以下几个核心概念: 1. **Actor系统**:...

    IDEA集成scala(csdn)————程序.pdf

    **IDEA集成Scala编程环境详解** 在现代软件开发中,IntelliJ IDEA作为一款强大的Java集成开发环境(IDE),也提供了对Scala语言的完美支持。本文将详细介绍如何在IntelliJ IDEA中集成Scala开发环境,以便高效地进行...

    用Scala写的akka actor简单demo

    标题中的“用Scala写的akka actor简单demo”指的是一个使用Scala编程语言编写的Akka Actor系统的基本示例。Akka是轻量级、基于actor模型的框架,它用于构建高度并发、分布式和容错的应用程序。Scala是多范式编程语言...

    scala编程_完整版——带目录

    Scala 是一门多范式(multi-paradigm)的编程语言,设计初衷是要集成面向对象编程和函数式编程的各种特性。 Scala 运行在Java虚拟机上,并兼容现有的Java程序。 Scala 源代码被编译成Java字节码,所以它可以运行于...

    基于Akka的加密消息通信.rar_scala akka_基于Akka通信框架的加密通信项目_消息通信

    尽管描述中提到不支持Scala,但Akka的典型实现是使用Scala编写的,因此我们将以Scala为背景来探讨这个项目。 **Akka Actor系统** 1. **Actor模型**: Akka的核心是Actor模型,它提供了一种处理并发和异步操作的机制...

    Akka Scala 学习高清原版pdf

    - Akka扩展,如微内核和断路器,提供了额外的高级特性。 6. 常见模式和实践: - 消息节流,限制消息的接收速率以避免过载。 - 工作负载平衡,跨多个节点分配任务以优化资源使用。 - 有序终止,用于确保actor...

    scala-sbt-helloworld.zip

    在本教程中,我们将深入探讨如何使用VSCode(Visual Studio Code)创建一个名为"Scala-SBT-Helloworld"的Scala项目,并通过sbt进行管理。 首先,我们需要确保已经安装了以下软件: 1. **Scala SDK**: Scala运行环境...

    Reactive.Programming.with.Scala.and.Akka.1783984341.epub

    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应用集成+,沃恩·弗农+

    在《响应式架构++消息模式Actor实现与Scala.Akka应用集成+》中,作者沃恩·弗农深入探讨了如何利用Akka和Scala来构建响应式的应用程序。他可能详细讲解了以下知识点: 1. **Actor系统**:介绍Akka中的Actor系统是...

    Reactive Programming with Scala and Akka mobi

    Reactive Programming with Scala and Akka 英文mobi 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除

    响应式架构 消息模式Actor实现与Scala.Akka应用集成 高清扫描版

    响应式架构 消息模式Actor实现与Scala.Akka应用集成 高清扫描版

    响应式架构 消息模式Actor实现与Scala.Akka应用集成 ,沃恩·弗农

    在这个主题中,我们将深入探讨消息模式下的Actor实现,以及如何在Scala中利用Akka框架进行应用集成。 首先,让我们理解什么是Actor模型。Actor模型是并发计算的一种理论框架,由Carl Hewitt在1973年提出。在该模型...

    akka-http-microservice, 在 Scala & akka http中,编写了( 微型) 服务的示例.zip

    akka-http-microservice, 在 Scala & akka http中,编写了( 微型) 服务的示例 Akka HTTP microservice示例 这个项目演示了 Akka HTTP插件库和,以编写简单的REST ( 微型) 。 项目显示了大多数基于 Akka http的项目...

Global site tag (gtag.js) - Google Analytics