はじめてみましょう
前提条件
Akka は Java 8 以降のものがマシンにインストールされている必要があります。
Lightbend Inc. では、Akka や 関連プロジェクトである Scala や Play を含む Lightbend Reactive Platform を提供しています。 これは現時点では Java 8 にアップグレードできない Java 6 のプロジェクトにも利用可能です。他にも商用機能やライブラリが追加で含まれています。
ガイドとテンプレートプロジェクトからはじめる
Akka の学習を始める最も良い方法は、 Lightbend Activator をダウンロードし、 Akka テンプレートプロジェクトのどれかひとつを試してみることです。
ダウンロード
Akka をダウンロードするにはいくつかの方法があります。 Lightbend Platform (前述) の一部としてダウンロードできます。全てのモジュールを含んだ完全な状態でのダウンロードもできます。 または、 Maven や SBT のようなビルドツールを使って、Akka の Maven リポジトリから、依存性をダウンロードすることも可能です。
モジュール
Akka は非常にモジュール性を意識していて、様々な機能を含めた複数の Jar から成り立っています。
akka-actor
– 典型的なアクター, Typed Actors, IO Actor などakka-agent
– Scala STM と統合された エージェントakka-camel
– Apache Camel との統合akka-cluster
– クラスタの構成管理や、弾力性のあるルーターakka-osgi
– OSGIコンテナで Akka で使うためのユーティリティakka-osgi-aries
– Aries blueprint にアクターシステムを提供します。akka-remote
– リモートアクターakka-slf4j
– SLF4J のロガー(イベントバスノリスナー)akka-stream
– リアクティブストリームの処理akka-testkit
– アクターシステムをテストするためのツールキット
これらの安定しているモジュールに加えて、現時点では “experimental” とマークされた安定に向かっている途中であるモジュールがいくつかあります。これはこれらが意図したとおりに機能しないというわけではなく、 API を凍結するにはまた十分ではなく検討が必要であることを意味しています。このプロセスを早めるために、あなたはこれらのモジュールのメーリングリストでフィードバックを提供することができます。
akka-contrib
– コアモジュールに移動するかもしれないししないかもしれないコントリビューションの集まりです。詳細は akka-contrib を見てください。
実際の JAR ファイルの名前は、 @jarName@
(その他もモジュールも同様) のようになります。
各 Akka モジュールの JAR の依存性の調べ方は、 Dependencies セクションに書いてあります。
リリース済みの配布物を使用する
http://akka.io/downloads から必要なリリースをダウンロードし、zip を解凍してください。
スナップショットのバージョンを使用する
Akka の夜間ビルドのスナップショットは、http://repo.akka.io/snapshots/ に公開され、SNAPSHOT
とタイムスタンプの両方でバージョン付けされています。 使用するタイムスタンプのバージョンを選ぶことができますし、新しいバージョンに更新する時を決めることができます。
警告
スナップショット、夜間ビルド、マイルストーンリリースの Akka を使うことは、何をしたいかが明確でない限りは推奨しません。
ビルドツールを使用する
Akka は Maven リポジトリをサポートしているビルドツールを使用できます。
Akka を Maven で使用する
Akka と Maven を始める最もシンプルな方法は、 Lightbend Activator をチェックアウトし、 Akka Main in Java という名前のチュートリアルを開始することです。
Akka は Maven のセントラルリポジトリに公開(バージョン 2.1-M2から)されていますので、 POM に Akka の依存性を追加するだけで充分です。たとえは、 akka-actor の依存性をの例を見てみましょう。
<dependency>
<groupId>com.typesafe.akka</groupId>
<artifactId>akka-actor_@binVersion@</artifactId>
<version>@version@</version>
</dependency>
スナップショットバージョンを使うには、次のようにスナップショットノリポジトリの追加が必要です。
<repositories>
<repository>
<id>akka-snapshots</id>
<snapshots>
<enabled>true</enabled>
</snapshots>
<url>http://repo.akka.io/snapshots/</url>
</repository>
</repositories>
注意: スナップショットバージョンには、 SNAPSHOT
と タイムスタンプ付きバージョンの両方が公開されています。
Akka を SBT で使用する
Akka と SBT を始める最も簡単な方法は、 Lightbend Activator にある、 SBT テンプレート のどれか1つを使うことです。
SBT で Akka を使うにあたり重要な部分の要約です。
SBT のインストール手順は http://www.scala-sbt.org/release/tutorial/Setup.html にあります。
build.sbt
ファイルです。:
name := "My Project"
version := "1.0"
scalaVersion := "@scalaVersion@"
libraryDependencies +=
"com.typesafe.akka" %% "akka-actor" % "@version@" @crossString@
注意: 上記の libraryDependencies の設定は、 SBT の バージョン 0.12.x 以降で有効です。もし古いバージョンの SBT を使っている場合、 libraryDependencies はこのようになるはずです。
libraryDependencies +=
"com.typesafe.akka" % "akka-actor_@binVersion@" % "@version@"
スナップショットバージョンを使うには、次のようにスナップショットノリポジトリの追加が必要です。
resolvers += "Akka Snapshot Repository" at "http://repo.akka.io/snapshots/"
Akka を Gradle で使用する
最低限 Scala plugin を導入した Gradle 1.4 が必要です。
apply plugin: 'scala'
repositories {
mavenCentral()
}
dependencies {
compile 'org.scala-lang:scala-library:@scalaVersion@'
}
tasks.withType(ScalaCompile) {
scalaCompileOptions.useAnt = false
}
dependencies {
compile group: 'com.typesafe.akka', name: 'akka-actor_@binVersion@', version: '@version@'
compile group: 'org.scala-lang', name: 'scala-library', version: '@scalaVersion@'
}
スナップショットバージョンを使うには、次のようにスナップショットノリポジトリの追加が必要です。
repositories {
mavenCentral()
maven {
url "http://repo.akka.io/snapshots/"
}
}
Eclipse で Akka を使用する
SBT のプロジェクトをセットアップしてから、 sbteclipse を使って、Eclipse プロジェクトを生成します。
Akk を IntellJ IDEA で使用する
SBT のプロジェクトをセットアップしてから、 sbt-idea を使って、 IntellJ IDEA プロジェクトを生成します。
Akka を NetBeans で使用する
SBT のプロジェクトをセットアップしてから、 nbsbt を使って、 NetBeans プロジェクトを生成します。
加えて、 IDE で Scala をサポートするために nbscala も使用するべきでしょう。
Scala コンパイラの -optimize フラグを使用してはいけません
警告
Akka は Scala コンパイラの -optimize フラグを使用してコンパイルもテストもされていません。それを試したユーザから、奇妙な挙動を示すことが報告されています。
ソースからビルドする
Akka は Git を使用し、 Github でホストしています。
Akka: https://github.com/akka/akka から Akka のリポジトリをクローンしてください。
続きは、 Building Akka を見てください。
助けが必要ですか?
もし質問があるなら、Akka Mailing List が助けになります。
他にも `商用サポート<https://www.lightbend.com>`_ に依頼ができます。
Akka コミュニティの一員になってくれて、ありがとうございます。
Contents