pekko/akka-docs/intro/getting-started.rst

182 lines
6.3 KiB
ReStructuredText
Raw Normal View History

2011-04-09 19:55:46 -06:00
Getting Started
===============
.. sidebar:: Contents
2011-04-09 19:55:46 -06:00
.. contents:: :local:
2011-04-09 19:55:46 -06:00
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:
- :ref:`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
- :ref:`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
- :ref:`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.
Prerequisites
-------------
Akka requires that you have `Java 1.6 <http://www.oracle.com/technetwork/java/javase/downloads/index.html>`_ or
later installed on you machine.
Download
--------
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 just the actors distribution. Or you can use a build tool like
Maven or sbt to download dependencies from the Akka Maven repository.
Modules
-------
2011-04-09 19:55:46 -06:00
Akka is very modular and has many JARs for containing different features.
- ``akka-actor-2.0-SNAPSHOT.jar`` -- Standard Actors
- ``akka-typed-actor-2.0-SNAPSHOT.jar`` -- Typed Actors
- ``akka-remote-2.0-SNAPSHOT.jar`` -- Remote Actors
- ``akka-stm-2.0-SNAPSHOT.jar`` -- STM (Software Transactional Memory), transactors and transactional datastructures
- ``akka-http-2.0-SNAPSHOT.jar`` -- Akka Mist for continuation-based asynchronous HTTP and also Jersey integration
- ``akka-slf4j-2.0-SNAPSHOT.jar`` -- SLF4J Event Handler Listener
- ``akka-testkit-2.0-SNAPSHOT.jar`` -- Toolkit for testing Actors
- ``akka-camel-2.0-SNAPSHOT.jar`` -- Apache Camel Actors integration (it's the best way to have your Akka application communicate with the rest of the world)
- ``akka-camel-typed-2.0-SNAPSHOT.jar`` -- Apache Camel Typed Actors integration
- ``akka-spring-2.0-SNAPSHOT.jar`` -- Spring framework integration
- ``akka-kernel-2.0-SNAPSHOT.jar`` -- Akka microkernel for running a bare-bones mini application server (embeds Jetty etc.)
2011-04-09 19:55:46 -06:00
How to see the JARs dependencies of each Akka module is described in the
:ref:`dependencies` section. Worth noting is that ``akka-actor`` has zero
external dependencies (apart from the ``scala-library.jar`` JAR).
Using a release distribution
----------------------------
Download the release you need, Akka Actors, Akka Core, or Akka Microkernel, from
http://akka.io/downloads and unzip it.
Using a snapshot version
------------------------
The Akka nightly snapshots are published to
http://repo.typesafe.com/typesafe/maven-timestamps/ and are versioned with a
timestamp. You need to choose a timestamped version to work with and can decide
when to update to a newer version.
2011-04-09 19:55:46 -06:00
Microkernel
2011-04-11 21:26:13 -06:00
^^^^^^^^^^^
2011-04-09 19:55:46 -06:00
The Akka Modules distribution includes the microkernel. To run the microkernel:
2011-04-11 21:26:13 -06:00
2011-04-09 19:55:46 -06:00
* 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.
2011-04-09 19:55:46 -06:00
More information is available in the documentation of the :ref:`microkernel`.
2011-04-09 19:55:46 -06:00
Using a build tool
2011-04-11 21:26:13 -06:00
------------------
2011-04-09 19:55:46 -06:00
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.
2011-04-09 19:55:46 -06:00
Using Akka with Maven
---------------------
Information about how to use Akka with Maven, including how to create an Akka
Maven project from scratch, can be found in the
:ref:`getting-started-first-java`.
Summary of the essential parts for using Akka with Maven:
2011-04-09 19:55:46 -06:00
1) Add this repository to your ``pom.xml``:
2011-04-09 19:55:46 -06:00
.. code-block:: xml
<repository>
2011-08-26 17:25:18 +02:00
<id>typesafe</id>
<name>Typesafe Repository</name>
<url>http://repo.typesafe.com/typesafe/releases/</url>
2011-04-09 19:55:46 -06:00
</repository>
2) Add the Akka dependencies. For example, here is the dependency for Akka Actor 2.0-SNAPSHOT:
2011-04-09 19:55:46 -06:00
.. code-block:: xml
<dependency>
<groupId>se.scalablesolutions.akka</groupId>
<artifactId>akka-actor</artifactId>
<version>2.0-SNAPSHOT</version>
2011-04-09 19:55:46 -06:00
</dependency>
**Note**: for snapshot versions akka uses specific timestamped versions.
2011-04-09 19:55:46 -06:00
Using Akka with SBT
-------------------
Information about how to use Akka with SBT, including how to create an Akka SBT project from scratch,
can be found in the :ref:`getting-started-first-scala`.
2011-04-09 19:55:46 -06:00
Summary of the essential parts for using Akka with SBT:
2011-04-09 19:55:46 -06:00
2011-08-26 17:25:18 +02:00
SBT installation instructions on `https://github.com/harrah/xsbt/wiki/Setup <https://github.com/harrah/xsbt/wiki/Setup>`_
2011-08-26 17:25:18 +02:00
``build.sbt`` file::
2011-04-09 19:55:46 -06:00
2011-08-26 17:25:18 +02:00
name := "My Project"
2011-04-09 19:55:46 -06:00
2011-08-26 17:25:18 +02:00
version := "1.0"
2011-04-09 19:55:46 -06:00
scalaVersion := "2.9.1"
2011-04-09 19:55:46 -06:00
2011-08-26 17:25:18 +02:00
resolvers += "Typesafe Repository" at "http://repo.typesafe.com/typesafe/releases/"
2011-04-09 19:55:46 -06:00
2011-08-26 17:25:18 +02:00
libraryDependencies += "se.scalablesolutions.akka" % "akka-actor" % "2.0-SNAPSHOT"
2011-04-09 19:55:46 -06:00
Using Akka with Eclipse
-----------------------
Information about how to use Akka with Eclipse, including how to create an Akka Eclipse project from scratch,
can be found in the :ref:`getting-started-first-scala-eclipse`.
2011-08-26 17:25:18 +02:00
Setup SBT project and then use `sbteclipse <https://github.com/typesafehub/sbteclipse>`_ to generate Eclipse project.
Using Akka with IntelliJ IDEA
-----------------------------
Setup SBT project and then use `sbt-idea <https://github.com/mpeltonen/sbt-idea>`_ to generate IntelliJ IDEA project.
2011-04-09 19:55:46 -06:00
Build from sources
2011-04-11 21:26:13 -06:00
------------------
2011-04-09 19:55:46 -06:00
Akka uses Git and is hosted at `Github <http://github.com>`_.
* 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 :ref:`building-akka`
2011-04-09 19:55:46 -06:00
Need help?
2011-04-11 21:26:13 -06:00
----------
2011-04-09 19:55:46 -06:00
If you have questions you can get help on the `Akka Mailing List <http://groups.google.com/group/akka-user>`_.
2011-05-16 08:34:55 +02:00
You can also ask for `commercial support <http://typesafe.com>`_.
2011-04-09 19:55:46 -06:00
Thanks for being a part of the Akka community.