閱讀83 返回首頁    go 阿裏雲 go 技術社區[雲棲]


AKKA文檔(java版)——準備開始

預備知識

AKKA要求你的計算機已經安裝了Java1.6或更高版本。

入門指南與模板項目

學習AKKA的最好方式是下載Typesafe Activator並嚐試一個AKKA模板項目。

下載

有許多種下載AKKA的方式。你可以把它當作Typesafe平台的一部分下載(就像上麵描述的)。還可以下載完全發布版,它包含微內核以及所有模塊。或者使用像Maven或SBT這樣的構建工具從AKKA Maven倉庫下載依賴。

模塊

AKKA是調度模塊化的,它由許多擁有不同特性的JAR組成。

  • akka-actor – 經典角色、類型角色、IO角色等。
  • akka-agent – 代理、整合了Scala的STM特性
  • akka-camel – 整合Apache的Camel
  • akka-cluster – 集群成員管理、彈性路由
  • akka-kernel – AKKA微內核,運行著一個極簡應用服務器
  • akka-osgi – 在OSG容器裏使用AKKA的基本bundle,包括akka-actor的類
  • akka-osgi-aries – Aries——服務提供角色係統的藍圖
  • akka-remote – 遠程角色
  • akka-slf4j – SLF4J Logger (事件總線監聽器)
  • akka-testkit – 測試角色係統的工具包Toolkit for testing Actor systems
  • akka-zeromq – 整合ZeroMQ

除了這些已進入穩定內核的穩定模塊之外,還有許多標記為“試驗(experimental)”的模塊。這並不是意味著它們沒有達到預期的功能,它的主要意義是它些模塊的API尚不夠穩定。你可以通過郵件列表向我們反饋這些模塊的使用情況,幫助加快這一進程。

  • akka-contrib – 提交者貢獻的各種模塊可能會也可能不被移到核心模塊,見外部貢獻了解更多細節。

一個實際的JAR文件名如下所示:akka-actor_2.10-2.3.6.jar(其它模塊也是如此)。

依賴關係章節說明了各AKKA模塊的JAR之間的依賴關係。

使用發布版

 https://akka.io/downloads下載你需要的發布版並解壓縮。

使用快照版

每日構建的AKKA快照版發布在https://repo.akka.io/snapshots/,並同時以SNAPSHOT和時間戳標記版本。你可以選擇使用一個時間戳標記的版本並決定何時升級到一個更新版本。AKKA快照倉庫還通過https://repo.typesafe.com/typesafe/snapshots/代理了AKKA模塊依賴的許多其它倉庫的代理。

警告

除非你知道你在做什麼,否則不鼓勵使用AKKA的快照版、每日構建版和裏程碑版。

微內核

AKKA的發布版擁有一個微內核。將你的應用JAR放到deploy目錄並運行bin 目錄下的腳本。

更多信息請見微內核(Scala)|(Java

使用構建工具

AKKA可以使用支持Maven倉庫的構建工具

Maven倉庫

從AKKA2.1-M2版開始:

Maven中央倉庫

之前的版本:

AKKA倉庫 Typesafe倉庫

通過Maven使用AKKA

開始使用AKKA和Maven的最簡單的方式是檢出Typesafe Activator名為Akka Main in Java的教程。

既然AKKA發布到了Maven中央倉庫(從v2.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

最簡單的方法是檢出Akka/SBT template工程。

SBT中的AKKA的必要部分:

SBT安裝指南:https://github.com/harrah/xsbt/wiki/Setup

build.sbt文件:

</pre>
<pre>name:="My Project"
version:="1.0"
scalaVersion:="2.10.4"
resolvers+="Typesafe Repository" at "https://typesafe.com/typesafe/releases/"
libraryDependencies+="com.typesafe.akka" %% "akka-actor" % "2.3.6"

注意:在上麵的libraryDependencies設置中,指定SBT版本為v0.12.x或更高版本。如果你使用較早的SBT版本,libraryDependencies應像下麵這樣:

libraryDependencies+="com.typesafe.akka" %% "akka-actor_2.10" % "2.3.6"

通過Gradle使用AKKA

要求至少是Gradle1.4以上,包含Scala插件

apply plugin:'scala'
repositories {
    mavenCentral()
}
dependencies {
    compile 'or.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工程。

在NetBeans中使用AKKA

安裝SBT工程然後使用 nbsbt 生成NetBeans工程。

你同樣應該為IDE對scala的通用支持使用 nbsbt 。

不要使用Scala編譯器優化選項 -optimize

警告

從沒有使用Scala編譯器的-optimize選項編譯或測試過akka。有嚐試過的用戶報告使用該選項發生了奇怪的行為。

從源碼構建

Akka使用Git托管在Github上。

更多內容參考構建Akka

需要幫助?

如果你有問題可以從Akka郵件列表獲得幫助。

你也可以獲取商業支持

感謝您成為AKKA社區的一員。

 

最後更新:2017-05-23 17:02:27

  上一篇:go  AKKA文檔(java版)——用例與部署場景
  下一篇:go  AKKA文檔(java版)——hello world