move multi-node-testkit into its own module, see #2981

This commit is contained in:
Roland 2013-02-10 16:04:59 -05:00
parent 29b274b9c0
commit c3b363c9b3
18 changed files with 103 additions and 33 deletions

View file

@ -543,7 +543,7 @@ How to Test
:ref:`multi-node-testing` is useful for testing cluster applications.
Set up your project according to the instructions in :ref:`multi-node-testing` and :ref:`multi-jvm-testing`, i.e.
add the ``sbt-multi-jvm`` plugin and the dependency to ``akka-remote-tests-experimental``.
add the ``sbt-multi-jvm`` plugin and the dependency to ``akka-multi-node-testkit``.
First, as described in :ref:`multi-node-testing`, we need some scaffolding to configure the ``MultiNodeSpec``.
Define the participating roles and their :ref:`cluster_configuration_scala` in an object extending ``MultiNodeConfig``:

View file

@ -70,7 +70,7 @@ Here is an example Build.scala file that uses the MultiJvm plugin:
// ---- test dependencies ----
"com.typesafe.akka" %% "akka-testkit" % "@version@" %
"test" @crossString@,
"com.typesafe.akka" %% "akka-remote-tests-experimental" % "@version@" %
"com.typesafe.akka" %% "akka-multi-node-testkit" % "@version@" %
"test" @crossString@,
"org.scalatest" %% "scalatest" % "1.9.1" % "test",
"junit" % "junit" % "4.5" % "test"

View file

@ -173,10 +173,10 @@ The multi node testing kit is a separate jar file. Make sure that you have the f
.. parsed-literal::
"com.typesafe.akka" %% "akka-remote-tests-experimental" % "@version@" @crossString@
"com.typesafe.akka" %% "akka-multi-node-testkit" % "@version@" @crossString@
If you are using the latest nightly build you should pick a timestamped Akka version from
`<http://repo.typesafe.com/typesafe/snapshots/com/typesafe/akka/akka-remote-tests-experimental_@binVersion@/>`_.
`<http://repo.typesafe.com/typesafe/snapshots/com/typesafe/akka/akka-multi-node-testkit_@binVersion@/>`_.
We recommend against using ``SNAPSHOT`` in order to obtain stable builds.
A Multi Node Testing Example

View file

@ -31,16 +31,55 @@ Modules
Akka is very modular and consists of several JARs containing different features.
- ``akka-actor`` -- Classic Actors, Typed Actors, IO Actor etc.
- ``akka-remote`` -- Remote Actors
- ``akka-testkit`` -- Toolkit for testing Actor systems
- ``akka-kernel`` -- Akka microkernel for running a bare-bones mini application server
- ``akka-transactor`` -- Transactors - transactional actors, integrated with Scala STM
- ``akka-agent`` -- Agents, integrated with Scala STM
- ``akka-camel`` -- Apache Camel integration
- ``akka-zeromq`` -- ZeroMQ integration
- ``akka-slf4j`` -- SLF4J Logger (event bus listener)
- ``akka-filebased-mailbox`` -- Akka durable mailbox (find more among community projects)
- ``akka-actor`` Classic Actors, Typed Actors, IO Actor etc.
- ``akka-agent`` Agents, integrated with Scala STM
- ``akka-camel`` Apache Camel integration
- ``akka-dataflow`` add-on to SIP-14 futures supporting implicit
continuation-passing style
- ``akka-file-mailbox`` Akka durable mailbox (find more among community
projects)
- ``akka-kernel`` Akka microkernel for running a bare-bones mini application
server
- ``akka-mailboxes-common`` common infrastructure for implementing durable
mailboxes
- ``akka-osgi`` base bundle for using Akka in OSGi containers, containing the
``akka-actor`` classes
- ``akka-osgi-aries`` Aries blueprint for provisioning actor systems
- ``akka-remote`` Remote Actors
- ``akka-slf4j`` SLF4J Logger (event bus listener)
- ``akka-testkit`` Toolkit for testing Actor systems
- ``akka-transactor`` Transactors - transactional actors, integrated with
Scala STM
- ``akka-zeromq`` ZeroMQ integration
In addition to these stable modules there are several which are on their way
into the stable core but are still marked “experimental” at this point. This
does not mean that they do not function as intended, it primarily means that
their API has not yet solidified enough in order to be considered frozen. You
can help accelerating this process by giving feedback on these modules on our
mailing list.
- ``akka-channels-experimental`` Typed Channels on top of untyped Actors,
using Scala 2.10 macros
- ``akka-cluster-experimental`` Cluster membership management, leader
election, elastic routers.
- ``akka-contrib`` an assortment of contributions which may or may not be
moved into core modules, see :ref:`akka-contrib` for more details.
The filename of the actual JAR is for example ``@jarName@`` (and analog for
the other modules).

View file

@ -362,13 +362,18 @@ It is possible to listen to events that occur in Akka Remote, and to subscribe/u
you simply register as listener to the below described types in on the ``ActorSystem.eventStream``.
.. note::
To subscribe to any remote event, subscribe to :meth:``RemotingLifecycleEvent`
To subscribe to events related only to the lifecycle of associations, subscribe to :meth:`akka.remote.AssociationEvent`
To subscribe to any remote event, subscribe to
:meth:`RemotingLifecycleEvent`. To subscribe to events related only to the
lifecycle of associations, subscribe to
:meth:`akka.remote.AssociationEvent`.
.. note::
The use of term "Association" instead of "Connection" reflects that the remoting subsystem may use
connectionless transports, but an association similar to transport layer connections is maintained between endpoints
by the Akka protocol.
The use of term "Association" instead of "Connection" reflects that the
remoting subsystem may use connectionless transports, but an association
similar to transport layer connections is maintained between endpoints by
the Akka protocol.
By default an event listener is registered which logs all of the events
described below. This default was chosen to help setting up a system, but it is
@ -376,6 +381,7 @@ quite common to switch this logging off once that phase of the project is
finished.
.. note::
In order to switch off the logging, set
``akka.remote.log-remote-lifecycle-events = off`` in your
``application.conf``.

View file

@ -363,13 +363,18 @@ It is possible to listen to events that occur in Akka Remote, and to subscribe/u
you simply register as listener to the below described types in on the ``ActorSystem.eventStream``.
.. note::
To subscribe to any remote event, subscribe to :meth:``RemotingLifecycleEvent`
To subscribe to events related only to the lifecycle of associations, subscribe to :meth:`akka.remote.AssociationEvent`
To subscribe to any remote event, subscribe to
:meth:`RemotingLifecycleEvent`. To subscribe to events related only to
the lifecycle of associations, subscribe to
:meth:`akka.remote.AssociationEvent`.
.. note::
The use of term "Association" instead of "Connection" reflects that the remoting subsystem may use
connectionless transports, but an association similar to transport layer connections is maintained between endpoints
by the Akka protocol.
The use of term "Association" instead of "Connection" reflects that the
remoting subsystem may use connectionless transports, but an association
similar to transport layer connections is maintained between endpoints by
the Akka protocol.
By default an event listener is registered which logs all of the events
described below. This default was chosen to help setting up a system, but it is
@ -377,6 +382,7 @@ quite common to switch this logging off once that phase of the project is
finished.
.. note::
In order to switch off the logging, set
``akka.remote.log-remote-lifecycle-events = off`` in your
``application.conf``.