1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

ログ解析者がAkkaをかじった結果。。。

Last updated at Posted at 2020-10-24

まぢかくは、Akkaといふものをよく聞く。。。

アクターモデルを使った並行・分散システムの開発につかうらしい。

困った点
■ ScalaはJava/C++より、開発スピードが速いので、書籍のコードが動かないことがある (*´Д`)
■ そもそもsbtがなんのことかわからない (*´Д`)

akka/HelloActorというディレクトリを作る。


$ mkdir akka
$ cd akka
$ mkdir HelloActor
$ cd HelloActor/

sbtというコマンドを打つと、projectやらtargetのディレクトリをいろいろ生成してくれる


$ sbt
[info] Updated file /home/flare/akka/HelloActor/project/build.properties: set sbt.version to 1.4.1
[info] welcome to sbt 1.4.1 (Private Build Java 1.8.0_265)
[info] loading project definition from /home/flare/akka/HelloActor/project
[info] set current project to helloactor (in build file:/home/flare/akka/HelloActor/)
[info] sbt server started at local:///root/.sbt/1.0/server/3d33f439f46d9c5a7961/sock
$ ls
project  target

scalaとsbtのバージョンを調べる


$ scala -version
Scala code runner version 2.11.12 -- Copyright 2002-2017, LAMP/EPFL
$ sbt --version
sbt script version: 1.4.1

下記のbuild.sbtというファイルをつくる。私の環境の場合、"2.3.9"とかだと動かない。 (´Д`)


$ cat build.sbt 
libraryDependencies += "com.typesafe.akka" %% "akka-actor" % "2.5.23"

コードを書く。。。

 1import akka.actor.Actor
 2import akka.actor.{ActorSystem,Props}
 3
 4class HelloActor extends Actor{
 5  def receive = {
 6    case "Hello" => println("World")
 7  }
 8}
 9
10object HelloActor {
11  def main(args: Array[String]): Unit = {
12    println("Hello World!")
13
14    val system = ActorSystem("system")
15    val actor = system.actorOf(Props[HelloActor])
16
17    actor ! "Hello"
18  }
19}

sbt runと入力して実行する。


$ ls
build.sbt  HelloActor.scala  project  target
$ sbt run
[info] welcome to sbt 1.4.1 (Private Build Java 1.8.0_265)
[info] loading project definition from /home/flare/akka/HelloActor/project
[info] loading settings for project helloactor from build.sbt ...
[info] set current project to helloactor (in build file:/home/flare/akka/HelloActor/)
[info] compiling 1 Scala source to /home/flare/akka/HelloActor/target/scala-2.12/classes ...
[info] running HelloActor 
Hello World!
World

(`ー´)b

これで書籍のサンプルコードを参照することができるのではないだろうか。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?