準備工作
Akka要求你安裝了 Java 1.6或更高版本。
入門指南和模板工程
最好的學習Akka的方法是下載“Typesafe Activator”并且嘗試一下其中的Akka模板工程。
下載
下載Akka有幾種方法。你可以通過下載Typesafe平臺來下載Akka(如前所述)。你可以下載包含微內核的完整發布包(包含所有的模塊)?;蛘咭部梢允褂脴嫿üぞ呷鏜aven或SBT從Akka Maven倉庫下載依賴。
模塊
Akka的模塊化做得非常好,它為不同的功能提供了不同的Jar包。
- akka-actor – 標準Actor, 類型Actor,IO Actor等。
- akka-agent – Agent,與 Scala STM 集成
- akka-camel – Apache Camel 集成
- akka-cluster – 集群成員管理,彈性路由器。
- akka-kernel – Akka 微內核來運行簡單應用服務器
- akka-osgi – 在OSGi容器中使用Akka的基本組件,包含akka-actor類
- akka-osgi-aries – Aries 的actor系統藍圖
- akka-remote.jar – 遠程Actor
- akka-slf4j.jar – SLF4J日志(事件總線監聽器)
- akka-testkit.jar – Actor系統的測試工具包
- akka-zeromq – ZeroMQ 集成
除了這些穩定的模塊之外,還有一些雖然趨于穩定但仍然被標記為“實驗”的模塊。這并不是說他們的功能不符合預期,而主要的意思是他們的API還沒有足夠穩定到被認為已經固定了。你可以通過在我們的郵件組里進行反饋,來加速試驗模塊發布的進程。
- akka-contrib – 一系列的Akka貢獻,他們有可能被加入核心模塊中,詳情見外部貢獻。
實際的jar包文件名會加上版本號,如akka-actor_2.10-2.3.6.jar(對其他模塊也是類似)。
查看Akka模塊之間的jar依賴的詳情在依賴這一節中。
使用發布版
從http://akka.io/downloads 下載發布包并解壓.
使用快照版
Akka的每日快照發布在 http://repo.akka.io/snapshots/, 版本號中包含 SNAPSHOT 和時間戳. 你可以選擇一個快照版,可以決定何時升級到一個新的版本。Akka快照倉庫也可以在 http://repo.typesafe.com/typesafe/snapshots/ 找到,此處還包含Akka模塊依賴的其它倉庫。
警告
不鼓勵直接使用Akka快照版(SNAPSHOT)、每日構建版(nightly)和里程碑版(milestone),除非你知道自己在做什么。
微內核
Akka發布包包含微內核。要運行微內核,將你應用的jar包放到 deploy
目錄下并運行 bin
目錄下的腳本即可。
關于微內核的更多文檔在 微內核(Scala) / 微內核(Java)。
使用構建工具
Akka可以與支持Maven倉庫的構建工具一起使用。
Maven倉庫
對Akka 2.1-M2 及以后的版本:
對以前的Akka 版本:
通過Maven使用Akka
通過Maven使用Akka最簡單的入門是檢出“Typesafe Activator”中的模板工程“Akka Main in Java”。
由于Akka已經發布到Maven中心倉庫了(自2.1-M2版本起),所以直接在POM文件中加入Akka依賴即可。例如。這是akka-actor的依賴:
<dependency>
<groupId>com.typesafe.akka</groupId>
<artifactId>akka-actor_2.10</artifactId>
<version>2.3.6</version>
</dependency>
注意:對快照版本,SNAPSHOT和時間戳都在版本號中。
通過SBT使用Akka
通過SBT使用Akka最簡單的入門是檢出“Akka/SBT”模板工程。
通過SBT使用Akka的要點:
SBT安裝指導 https://github.com/harrah/xsbt/wiki/Setup
build.sbt
文件:
name := "My Project"
version := "1.0"
scalaVersion := "2.10.4"
resolvers += "Typesafe Repository" at "http://repo.typesafe.com/typesafe/releases/"
libraryDependencies +=
"com.typesafe.akka" %% "akka-actor" % "2.3.6"
注意:以上的libraryDependencies
設置需要SBT 0.12.x或更高的版本。如果你使用更老版本的SBT,libraryDependencies
需要這樣設置:
libraryDependencies +=
"com.typesafe.akka" % "akka-actor_2.10" % "2.3.6"
Using Akka with Gradle
需要 Gradle 1.4 及以上的版本來使用 Scala 插件
apply plugin: 'scala'
repositories {
mavenCentral()
}
dependencies {
compile 'org.scala-lang:scala-library:2.10.4'
}
tasks.withType(ScalaCompile) {
scalaCompileOptions.useAnt = false
}
dependencies {
compile group: 'com.typesafe.akka', name: 'akka-actor_2.10', version: '2.3.6'
compile group: 'org.scala-lang', name: 'scala-library', version: '2.10.4'
}
通過Eclipse使用Akka
建好SBT項目并使用 sbteclipse 來創建Eclipse項目。
通過IntelliJ IDEA使用Akka
建好SBT項目并使用 sbt-idea 來創建IntelliJ IDEA 項目。
Ref:
https://doc.yonyoucloud.com/doc/akka-doc-cn/2.3.6/scala/book/chapter1/03_getting_started.html