Contents
- local
The best way to start learning Akka is to try the Getting Started Tutorial, which comes in several flavours depending on you development environment preferences:
getting-started-first-java
for Java development, either- as standalone project, running from the command line,
- or as Maven project and running it from within Maven
getting-started-first-scala
for Scala development, either- as standalone project, running from the command line,
- or as SBT (Simple Build Tool) project and running it from within SBT
getting-started-first-scala-eclipse
for Scala development with Eclipse
The Getting Started Tutorial describes everything you need to get going, and you don't need to read the rest of this page if you study the tutorial. For later look back reference this page describes the essential parts for getting started with different development environments.
Akka requires that you have Java 1.6 or later installed on you machine.
There are several ways to download Akka. You can download the full distribution with microkernel, which includes all modules. You can download just the core distribution. Or you can use a build tool like Maven or SBT to download dependencies from the Akka Maven repository.
Akka is split up into two different parts:
- Akka - The core modules. Reflects all the sections under
scala-api
andjava-api
. - Akka Modules - The microkernel and add-on modules, described in
add-on-modules
.
Akka is very modular and has many JARs for containing different features. The core distribution has seven modules:
akka-actor-1.2-SNAPSHOT
-- Standard Actorsakka-typed-actor-1.2-SNAPSHOT
-- Typed Actorsakka-remote-1.2-SNAPSHOT
-- Remote Actorsakka-stm-1.2-SNAPSHOT
-- STM (Software Transactional Memory), transactors and transactional datastructuresakka-http-1.2-SNAPSHOT
-- Akka Mist for continuation-based asynchronous HTTP and also Jersey integrationakka-slf4j-1.2-SNAPSHOT
-- SLF4J Event Handler Listenerakka-testkit-1.2-SNAPSHOT
-- Toolkit for testing Actors
We also have Akka Modules containing add-on modules outside the core of Akka.
akka-kernel-1.2-SNAPSHOT
-- Akka microkernel for running a bare-bones mini application server (embeds Jetty etc.)akka-amqp-1.2-SNAPSHOT
-- AMQP integrationakka-camel-1.2-SNAPSHOT
-- Apache Camel Actors integration (it's the best way to have your Akka application communicate with the rest of the world)akka-camel-typed-1.2-SNAPSHOT
-- Apache Camel Typed Actors integrationakka-scalaz-1.2-SNAPSHOT
-- Support for the Scalaz libraryakka-spring-1.2-SNAPSHOT
-- Spring framework integrationakka-osgi-dependencies-bundle-1.2-SNAPSHOT
-- OSGi support
How to see the JARs dependencies of each Akka module is described in the dependencies
section. Worth noting is that akka-actor
has zero external dependencies (apart from the scala-library.jar
JAR).
Download the release you need, Akka core or Akka Modules, from http://akka.io/downloads and unzip it.
The Akka Modules distribution includes the microkernel. To run the microkernel:
- Set the AKKA_HOME environment variable to the root of the Akka distribution.
- To start the kernel use the scripts in the
bin
directory and deploy all samples applications from./deploy
dir.
More information is available in the documentation of the Microkernel in add-on-modules
.
Akka can be used with build tools that support Maven repositories. The Akka Maven repository can be found at http://akka.io/repository and Typesafe provides http://repo.typesafe.com/typesafe/releases/ that proxies several other repositories, including akka.io.
Information about how to use Akka with Maven, including how to create an Akka Maven project from scratch, can be found in the getting-started-first-java
.
Summary of the essential parts for using Akka with Maven:
- Add this repository to your
pom.xml
:
<repository>
<id>typesafe</id>
<name>Typesafe Repository</name>
<url>http://repo.typesafe.com/typesafe/releases/</url>
</repository>
- Add the Akka dependencies. For example, here is the dependency for Akka Actor 1.2-SNAPSHOT:
<dependency>
<groupId>se.scalablesolutions.akka</groupId>
<artifactId>akka-actor</artifactId>
<version>1.2-SNAPSHOT</version>
</dependency>
Information about how to use Akka with SBT, including how to create an Akka SBT project from scratch, can be found in the getting-started-first-scala
.
Summary of the essential parts for using Akka with SBT:
SBT installation instructions on https://github.com/harrah/xsbt/wiki/Setup
build.sbt
file:
name := "My Project"
version := "1.0"
scalaVersion := "2.9.1"
resolvers += "Typesafe Repository" at "http://repo.typesafe.com/typesafe/releases/"
libraryDependencies += "se.scalablesolutions.akka" % "akka-actor" % "1.2-SNAPSHOT"
Information about how to use Akka with Eclipse, including how to create an Akka Eclipse project from scratch, can be found in the getting-started-first-scala-eclipse
.
Setup SBT project and then use sbteclipse to generate Eclipse project.
Setup SBT project and then use sbt-idea to generate IntelliJ IDEA project.
Akka uses Git and is hosted at Github.
- Akka: clone the Akka repository from http://github.com/jboner/akka
- Akka Modules: clone the Akka Modules repository from http://github.com/jboner/akka-modules
Continue reading the page on building-akka
If you have questions you can get help on the Akka Mailing List.
You can also ask for commercial support.
Thanks for being a part of the Akka community.