move multi-node-testkit into its own module, see #2981
This commit is contained in:
parent
29b274b9c0
commit
c3b363c9b3
18 changed files with 103 additions and 33 deletions
|
|
@ -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``:
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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).
|
||||
|
|
|
|||
|
|
@ -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``.
|
||||
|
|
|
|||
|
|
@ -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``.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue