scala akka actor —— Hello World
程序员文章站
2022-05-25 23:21:04
...
最近在学习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?
上一篇: php模板之Phpbean的目录结构
下一篇: C# Base 64 编码/解码实现代码