From e555d2a0734c4d02d002be4e0428347ea07332f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20Bone=CC=81r?= Date: Mon, 5 Mar 2012 15:01:40 +0100 Subject: [PATCH] Added docs about Push/Pull and Rep/Req ZeroMQ support. Added Windows versions for all command line samples in the Getting Started Guides. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Jonas Bonér --- .../intro/getting-started-first-java.rst | 118 +++++++++++++++--- .../getting-started-first-scala-eclipse.rst | 92 +++++++++++--- .../intro/getting-started-first-scala.rst | 102 +++++++++++++-- akka-docs/java/zeromq.rst | 35 +++++- akka-docs/scala/zeromq.rst | 35 +++++- 5 files changed, 337 insertions(+), 45 deletions(-) diff --git a/akka-docs/intro/getting-started-first-java.rst b/akka-docs/intro/getting-started-first-java.rst index 0a090d02bd..300b381b72 100644 --- a/akka-docs/intro/getting-started-first-java.rst +++ b/akka-docs/intro/getting-started-first-java.rst @@ -33,22 +33,30 @@ If you want don't want to type in the code and/or set up a Maven project then yo __ https://github.com/akka/akka/tree/master/akka-tutorials/akka-tutorial-first __ https://github.com/akka/akka/blob/master/akka-tutorials/akka-tutorial-first/src/main/java/akka/tutorial/first/java/Pi.java -To check out the code using Git invoke the following:: +To check out the code using Git invoke the following command and you can then you can navigate down to the tutorial. + +On Linux/Unix/Mac systems:: $ git clone git://github.com/akka/akka.git - -Then you can navigate down to the tutorial:: - $ cd akka/akka-tutorials/akka-tutorial-first +On Windows systems:: + + C:\Users\jboner\src> git clone git://github.com/akka/akka.git + C:\Users\jboner\src> cd akka\akka-tutorials\akka-tutorial-first + Prerequisites ------------- This tutorial assumes that you have Java 1.6 or later installed on you machine and ``java`` on your ``PATH``. You also need to know how to run commands in a shell (ZSH, Bash, DOS etc.) and a decent text editor or IDE to type in the Java code. -You need to make sure that ``$JAVA_HOME`` environment variable is set to the root of the Java distribution. You also need to make sure that the ``$JAVA_HOME/bin`` is on your ``PATH``:: +You need to make sure that ``$JAVA_HOME`` environment variable is set to the +root of the Java distribution. You also need to make sure that the +``$JAVA_HOME/bin`` is on your ``PATH``. - $ export JAVA_HOME=..root of java distribution.. +On Linux/Unix/Mac systems:: + + $ export JAVA_HOME=..root of Java distribution.. $ export PATH=$PATH:$JAVA_HOME/bin You can test your installation by invoking ``java``:: @@ -58,6 +66,17 @@ You can test your installation by invoking ``java``:: Java(TM) SE Runtime Environment (build 1.6.0_24-b07-334-10M3326) Java HotSpot(TM) 64-Bit Server VM (build 19.1-b02-334, mixed mode) +On Windows systems:: + + C:\Users\jboner\src\akka> set JAVA_HOME=..root of Java distribution.. + C:\Users\jboner\src\akka> set PATH=%PATH%;%JAVA_HOME%/bin + +You can test your installation by invoking ``java``:: + + C:\Users\jboner\src\akka> java -version + java version "1.6.0_24" + Java(TM) SE Runtime Environment (build 1.6.0_24-b07-334-10M3326) + Java HotSpot(TM) 64-Bit Server VM (build 19.1-b02-334, mixed mode) Downloading and installing Akka ------------------------------- @@ -75,14 +94,25 @@ would like to have Akka installed in. In my case I choose to install it in You need to do one more thing in order to install Akka properly: set the ``AKKA_HOME`` environment variable to the root of the distribution. In my case I'm opening up a shell, navigating down to the distribution, and setting the -``AKKA_HOME`` variable:: +``AKKA_HOME`` variable. + +On Linux/Unix/Mac systems:: $ cd /Users/jboner/tools/akka-2.1-SNAPSHOT $ export AKKA_HOME=`pwd` $ echo $AKKA_HOME /Users/jboner/tools/akka-2.1-SNAPSHOT -The distribution looks like this:: +On Windows systems:: + + C:\Users\jboner\src\akka> cd akka-2.1-SNAPSHOT + C:\Users\jboner\src\akka\akka-2.1-SNAPSHOT> set AKKA_HOME=%cd% + C:\Users\jboner\src\akka\akka-2.1-SNAPSHOT> echo %AKKA_HOME% + C:\Users\jboner\src\akka\akka-2.1-SNAPSHOT + +The distribution looks like this. + +On Linux/Unix/Mac systems:: $ ls -1 bin @@ -92,6 +122,16 @@ The distribution looks like this:: lib src +On Windows systems:: + + C:\Users\jboner\src\akka\akka-2.1-SNAPSHOT> dir + bin + config + deploy + doc + lib + src + - In the ``bin`` directory we have scripts for starting the Akka Microkernel. - In the ``config`` directory we have the Akka conf files. - In the ``deploy`` directory we can place applications to be run with the microkernel. @@ -139,7 +179,9 @@ To install Maven it is easiest to follow the instructions on `http://maven.apach Creating an Akka Maven project ------------------------------ -If you have not already done so, now is the time to create a Maven project for our tutorial. You do that by stepping into the directory you want to create your project in and invoking the ``mvn`` command:: +If you have not already done so, now is the time to create a Maven project for our tutorial. You do that by stepping into the directory you want to create your project in and invoking the ``mvn`` command. + +On Linux/Unix/Mac systems:: $ mvn archetype:generate \ -DgroupId=akka.tutorial.first.java \ @@ -147,10 +189,24 @@ If you have not already done so, now is the time to create a Maven project for o -DarchetypeArtifactId=maven-archetype-quickstart \ -DinteractiveMode=false +On Windows systems:: + + C:\Users\jboner\src\akka\akka-2.1-SNAPSHOT> mvn archetype:generate \ + -DgroupId=akka.tutorial.first.java \ + -DartifactId=akka-tutorial-first-java \ + -DarchetypeArtifactId=maven-archetype-quickstart \ + -DinteractiveMode=false + Now we have the basis for our Maven-based Akka project. Let's step into the project directory:: +On Linux/Unix/Mac systems:: + $ cd akka-tutorial-first-java +On Windows systems:: + + C:\Users\jboner\src\akka\akka-2.1-SNAPSHOT> cd akka-tutorial-first-java + Here is the layout that Maven created:: akka-tutorial-first-jboner @@ -362,39 +418,73 @@ time. When that's done open up a shell and step in to the Akka distribution First we need to compile the source file. That is done with Java's compiler ``javac``. Our application depends on the ``akka-actor-2.1-SNAPSHOT.jar`` and the ``scala-library.jar`` JAR files, so let's add them to the compiler classpath -when we compile the source:: +when we compile the source. + +On Linux/Unix/Mac systems:: $ javac -cp lib/scala-library.jar:lib/akka/akka-actor-2.1-SNAPSHOT.jar tutorial/akka/tutorial/first/java/Pi.java +On Windows systems:: + + C:\Users\jboner\src\akka\akka-2.1-SNAPSHOT> javac -cp \ + lib/scala-library.jar;lib/akka/akka-actor-2.1-SNAPSHOT.jar \ + tutorial/akka/tutorial/first/java/Pi.java + When we have compiled the source file we are ready to run the application. This is done with ``java`` but yet again we need to add the ``akka-actor-2.1-SNAPSHOT.jar`` and the ``scala-library.jar`` JAR files to the classpath as well as the classes -we compiled ourselves:: +we compiled ourselves. + +On Linux/Unix/Mac systems:: $ java \ -cp lib/scala-library.jar:lib/akka/akka-actor-2.1-SNAPSHOT.jar:. \ - akka.tutorial.java.first.Pi + akka.tutorial.first.scala.Pi + + Pi approximation: 3.1435501812459323 + Calculation time: 359 millis + +On Windows systems:: + + C:\Users\jboner\src\akka\akka-2.1-SNAPSHOT> java \ + -cp lib/scala-library.jar;lib\akka\akka-actor-2.1-SNAPSHOT.jar;. \ + akka.tutorial.first.scala.Pi Pi approximation: 3.1435501812459323 Calculation time: 359 millis Yippee! It is working. - Run it inside Maven ------------------- -If you used Maven, then you can run the application directly inside Maven. First you need to compile the project:: +If you used Maven, then you can run the application directly inside Maven. First you need to compile the project. + +On Linux/Unix/Mac systems:: $ mvn compile +On Windows systems:: + + C:\Users\jboner\src\akka\akka-2.1-SNAPSHOT> mvn compile + When this in done we can run our application directly inside Maven:: +On Linux/Unix/Mac systems:: + $ mvn exec:java -Dexec.mainClass="akka.tutorial.first.java.Pi" ... Pi approximation: 3.1435501812459323 Calculation time: 359 millis +On Windows systems:: + + C:\Users\jboner\src\akka\akka-2.1-SNAPSHOT> mvn exec:java \ + -Dexec.mainClass="akka.tutorial.first.java.Pi" + ... + Pi approximation: 3.1435501812459323 + Calculation time: 359 millis + Yippee! It is working. Overriding Configuration Externally (Optional) diff --git a/akka-docs/intro/getting-started-first-scala-eclipse.rst b/akka-docs/intro/getting-started-first-scala-eclipse.rst index 635a3710fd..ef68ff01ff 100644 --- a/akka-docs/intro/getting-started-first-scala-eclipse.rst +++ b/akka-docs/intro/getting-started-first-scala-eclipse.rst @@ -49,14 +49,17 @@ check out the full tutorial from the Akka GitHub repository. It is in the __ https://github.com/akka/akka/tree/master/akka-tutorials/akka-tutorial-first __ https://github.com/akka/akka/blob/master/akka-tutorials/akka-tutorial-first/src/main/scala/Pi.scala -To check out the code using Git invoke the following:: +To check out the code using Git invoke the following command and you can then you can navigate down to the tutorial. + +On Linux/Unix/Mac systems:: $ git clone git://github.com/akka/akka.git - -Then you can navigate down to the tutorial:: - $ cd akka/akka-tutorials/akka-tutorial-first +On Windows systems:: + + C:\Users\jboner\src> git clone git://github.com/akka/akka.git + C:\Users\jboner\src> cd akka\akka-tutorials\akka-tutorial-first Prerequisites ------------- @@ -68,9 +71,11 @@ code. You need to make sure that ``$JAVA_HOME`` environment variable is set to the root of the Java distribution. You also need to make sure that the -``$JAVA_HOME/bin`` is on your ``PATH``:: +``$JAVA_HOME/bin`` is on your ``PATH``. - $ export JAVA_HOME=..root of java distribution.. +On Linux/Unix/Mac systems:: + + $ export JAVA_HOME=..root of Java distribution.. $ export PATH=$PATH:$JAVA_HOME/bin You can test your installation by invoking ``java``:: @@ -80,6 +85,17 @@ You can test your installation by invoking ``java``:: Java(TM) SE Runtime Environment (build 1.6.0_24-b07-334-10M3326) Java HotSpot(TM) 64-Bit Server VM (build 19.1-b02-334, mixed mode) +On Windows systems:: + + C:\Users\jboner\src\akka> set JAVA_HOME=..root of Java distribution.. + C:\Users\jboner\src\akka> set PATH=%PATH%;%JAVA_HOME%/bin + +You can test your installation by invoking ``java``:: + + C:\Users\jboner\src\akka> java -version + java version "1.6.0_24" + Java(TM) SE Runtime Environment (build 1.6.0_24-b07-334-10M3326) + Java HotSpot(TM) 64-Bit Server VM (build 19.1-b02-334, mixed mode) Downloading and installing Akka ------------------------------- @@ -97,14 +113,26 @@ would like to have Akka installed in. In my case I choose to install it in You need to do one more thing in order to install Akka properly: set the ``AKKA_HOME`` environment variable to the root of the distribution. In my case I'm opening up a shell, navigating down to the distribution, and setting the -``AKKA_HOME`` variable:: +``AKKA_HOME`` variable. + + +On Linux/Unix/Mac systems:: $ cd /Users/jboner/tools/akka-2.1-SNAPSHOT $ export AKKA_HOME=`pwd` $ echo $AKKA_HOME /Users/jboner/tools/akka-2.1-SNAPSHOT -The distribution looks like this:: +On Windows systems:: + + C:\Users\jboner\src\akka> cd akka-2.1-SNAPSHOT + C:\Users\jboner\src\akka\akka-2.1-SNAPSHOT> set AKKA_HOME=%cd% + C:\Users\jboner\src\akka\akka-2.1-SNAPSHOT> echo %AKKA_HOME% + C:\Users\jboner\src\akka\akka-2.1-SNAPSHOT + +The distribution looks like this. + +On Linux/Unix/Mac systems:: $ ls -1 bin @@ -114,6 +142,16 @@ The distribution looks like this:: lib src +On Windows systems:: + + C:\Users\jboner\src\akka\akka-2.1-SNAPSHOT> dir + bin + config + deploy + doc + lib + src + - In the ``bin`` directory we have scripts for starting the Akka Microkernel. - In the ``config`` directory we have the Akka conf files. - In the ``deploy`` directory we can place applications to be run with the microkernel. @@ -156,7 +194,7 @@ This plugin comes with its own version of Scala, so if you don't plan to run the you don't need to download the Scala distribution (and you can skip the next section). You can install this plugin using the regular update mechanism. First choose a version of the IDE from -`http://download.scala-ide.org `_. We recommend you choose 2.0.x, which +`http://download.scala-ide.org `_. We recommend you choose 2.1.x, which comes with Scala 2.9. Copy the corresponding URL and then choose ``Help/Install New Software`` and paste the URL you just copied. You should see something similar to the following image. @@ -191,15 +229,27 @@ distribution then just unzip it where you want it installed. If you pick the IzPack Installer then double click on it and follow the instructions. You also need to make sure that the ``scala-2.9.1/bin`` (if that is the -directory where you installed Scala) is on your ``PATH``:: +directory where you installed Scala) is on your ``PATH``. +On Linux/Unix/Mac systems:: $ export PATH=$PATH:scala-2.9.1/bin -You can test your installation by invoking scala:: +On Windows systems:: + + C:\Users\jboner\src\akka\akka-2.1-SNAPSHOT> set PATH=%PATH%;scala-2.9.1\bin + +You can test your installation by invoking scala. + +On Linux/Unix/Mac systems:: $ scala -version Scala code runner version 2.9.1.final -- Copyright 2002-2011, LAMP/EPFL +On Windows systems:: + + C:\Users\jboner\src\akka\akka-2.1-SNAPSHOT> scala -version + Scala code runner version 2.9.1.final -- Copyright 2002-2011, LAMP/EPFL + Looks like we are all good. Finally let's create a source file ``Pi.scala`` for the tutorial and put it in the root of the Akka distribution in the ``tutorial`` directory (you have to create it first). @@ -228,16 +278,30 @@ instruction and additionally install the ``sbteclipse`` plugin. This adds suppor from your SBT project. You need to install the plugin as described in the `README of sbteclipse `_ -Then run the ``eclipse`` target to generate the Eclipse project:: +Then run the ``eclipse`` target to generate the Eclipse project. + +On Linux/Unix/Mac systems:: $ sbt > eclipse -The options `create-src` and `with-sources` are useful:: +On Windows systems:: + + C:\Users\jboner\src\akka\akka-2.1-SNAPSHOT> sbt + > eclipse + +The options `create-src` and `with-sources` are useful: + +On Linux/Unix/Mac systems:: $ sbt > eclipse create-src with-sources +On Windows systems:: + + C:\Users\jboner\src\akka\akka-2.1-SNAPSHOT> sbt + > eclipse create-src with-sources + * create-src to create the common source directories, e.g. src/main/scala, src/main/test * with-sources to create source attachments for the library dependencies @@ -410,7 +474,7 @@ If everything works fine, you should see:: Calculation time: 359 millis You can also define a new Run configuration, by going to ``Run/Run Configurations``. Create a new ``Scala application`` -and choose the tutorial project and the main class to be ``akkatutorial.Pi``. You can pass additional command line +and choose the tutorial project and the main class to be ``akka/tutorial.Pi``. You can pass additional command line arguments to the JVM on the ``Arguments`` page, for instance to define where :ref:`configuration` is: .. image:: ../images/run-config.png diff --git a/akka-docs/intro/getting-started-first-scala.rst b/akka-docs/intro/getting-started-first-scala.rst index 85dd29cbc9..3721af57ff 100644 --- a/akka-docs/intro/getting-started-first-scala.rst +++ b/akka-docs/intro/getting-started-first-scala.rst @@ -51,14 +51,18 @@ check out the full tutorial from the Akka GitHub repository. It is in the __ https://github.com/akka/akka/tree/master/akka-tutorials/akka-tutorial-first __ https://github.com/akka/akka/blob/master/akka-tutorials/akka-tutorial-first/src/main/scala/akka/tutorial/first/scala/Pi.scala -To check out the code using Git invoke the following:: +To check out the code using Git invoke the following command and you can then you can navigate down to the tutorial. + +On Linux/Unix/Mac systems:: $ git clone git://github.com/akka/akka.git - -Then you can navigate down to the tutorial:: - $ cd akka/akka-tutorials/akka-tutorial-first +On Windows systems:: + + C:\Users\jboner\src> git clone git://github.com/akka/akka.git + C:\Users\jboner\src> cd akka\akka-tutorials\akka-tutorial-first + Prerequisites ============= @@ -69,9 +73,11 @@ code. You need to make sure that ``$JAVA_HOME`` environment variable is set to the root of the Java distribution. You also need to make sure that the -``$JAVA_HOME/bin`` is on your ``PATH``:: +``$JAVA_HOME/bin`` is on your ``PATH``. - $ export JAVA_HOME=..root of java distribution.. +On Linux/Unix/Mac systems:: + + $ export JAVA_HOME=..root of Java distribution.. $ export PATH=$PATH:$JAVA_HOME/bin You can test your installation by invoking ``java``:: @@ -81,6 +87,17 @@ You can test your installation by invoking ``java``:: Java(TM) SE Runtime Environment (build 1.6.0_24-b07-334-10M3326) Java HotSpot(TM) 64-Bit Server VM (build 19.1-b02-334, mixed mode) +On Windows systems:: + + C:\Users\jboner\src\akka> set JAVA_HOME=..root of Java distribution.. + C:\Users\jboner\src\akka> set PATH=%PATH%;%JAVA_HOME%/bin + +You can test your installation by invoking ``java``:: + + C:\Users\jboner\src\akka> java -version + java version "1.6.0_24" + Java(TM) SE Runtime Environment (build 1.6.0_24-b07-334-10M3326) + Java HotSpot(TM) 64-Bit Server VM (build 19.1-b02-334, mixed mode) Downloading and installing Akka =============================== @@ -98,14 +115,25 @@ would like to have Akka installed in. In my case I choose to install it in You need to do one more thing in order to install Akka properly: set the ``AKKA_HOME`` environment variable to the root of the distribution. In my case I'm opening up a shell, navigating down to the distribution, and setting the -``AKKA_HOME`` variable:: +``AKKA_HOME`` variable. + +On Linux/Unix/Mac systems:: $ cd /Users/jboner/tools/akka-2.1-SNAPSHOT $ export AKKA_HOME=`pwd` $ echo $AKKA_HOME /Users/jboner/tools/akka-2.1-SNAPSHOT -The distribution looks like this:: +On Windows systems:: + + C:\Users\jboner\src\akka> cd akka-2.1-SNAPSHOT + C:\Users\jboner\src\akka\akka-2.1-SNAPSHOT> set AKKA_HOME=%cd% + C:\Users\jboner\src\akka\akka-2.1-SNAPSHOT> echo %AKKA_HOME% + C:\Users\jboner\src\akka\akka-2.1-SNAPSHOT + +The distribution looks like this. + +On Linux/Unix/Mac systems:: $ ls -1 bin @@ -115,6 +143,16 @@ The distribution looks like this:: lib src +On Windows systems:: + + C:\Users\jboner\src\akka\akka-2.1-SNAPSHOT> dir + bin + config + deploy + doc + lib + src + - In the ``bin`` directory we have scripts for starting the Akka Microkernel. - In the ``config`` directory we have the Akka conf files. - In the ``deploy`` directory we can place applications to be run with the microkernel. @@ -163,15 +201,28 @@ distribution then just unzip it where you want it installed. If you pick the IzPack Installer then double click on it and follow the instructions. You also need to make sure that the ``scala-2.9.1/bin`` (if that is the -directory where you installed Scala) is on your ``PATH``:: +directory where you installed Scala) is on your ``PATH``. + +On Linux/Unix/Mac systems:: $ export PATH=$PATH:scala-2.9.1/bin -You can test your installation by invoking scala:: +On Windows systems:: + + C:\Users\jboner\src\akka\akka-2.1-SNAPSHOT> set PATH=%PATH%;scala-2.9.1\bin + +You can test your installation by invoking scala. + +On Linux/Unix/Mac systems:: $ scala -version Scala code runner version 2.9.1.final -- Copyright 2002-2011, LAMP/EPFL +On Windows systems:: + + C:\Users\jboner\src\akka\akka-2.1-SNAPSHOT> scala -version + Scala code runner version 2.9.1.final -- Copyright 2002-2011, LAMP/EPFL + Looks like we are all good. Finally let's create a source file ``Pi.scala`` for the tutorial and put it in the root of the Akka distribution in the ``tutorial`` directory (you have to create it first). @@ -404,15 +455,23 @@ When that's done open up a shell and step in to the Akka distribution (``cd $AKK First we need to compile the source file. That is done with Scala's compiler ``scalac``. Our application depends on the ``akka-actor-2.1-SNAPSHOT.jar`` JAR -file, so let's add that to the compiler classpath when we compile the source:: +file, so let's add that to the compiler classpath when we compile the source. + +On Linux/Unix/Mac systems:: $ scalac -cp lib/akka/akka-actor-2.1-SNAPSHOT.jar Pi.scala +On Windows systems:: + + C:\Users\jboner\src\akka\akka-2.1-SNAPSHOT> scalac -cp lib\akka\akka-actor-2.1-SNAPSHOT.jar Pi.scala + When we have compiled the source file we are ready to run the application. This is done with ``java`` but yet again we need to add the ``akka-actor-2.1-SNAPSHOT.jar`` JAR file to the classpath, and this time we also need to add the Scala runtime library ``scala-library.jar`` and the classes we -compiled ourselves:: +compiled ourselves. + +On Linux/Unix/Mac systems:: $ java \ -cp lib/scala-library.jar:lib/akka/akka-actor-2.1-SNAPSHOT.jar:. \ @@ -421,18 +480,35 @@ compiled ourselves:: Pi approximation: 3.1435501812459323 Calculation time: 359 millis +On Windows systems:: + + C:\Users\jboner\src\akka\akka-2.1-SNAPSHOT> java \ + -cp lib/scala-library.jar;lib\akka\akka-actor-2.1-SNAPSHOT.jar;. \ + akka.tutorial.first.scala.Pi + + Pi approximation: 3.1435501812459323 + Calculation time: 359 millis + Yippee! It is working. Run it inside SBT ================= If you used SBT, then you can run the application directly inside SBT. First you -need to compile the project:: +need to compile the project. + +On Linux/Unix/Mac systems:: $ sbt > compile ... +On Windows systems:: + + C:\Users\jboner\src\akka\akka-2.1-SNAPSHOT> sbt + > compile + ... + When this in done we can run our application directly inside SBT:: > run diff --git a/akka-docs/java/zeromq.rst b/akka-docs/java/zeromq.rst index e24dd28796..2d136d77b5 100644 --- a/akka-docs/java/zeromq.rst +++ b/akka-docs/java/zeromq.rst @@ -34,7 +34,7 @@ Similarly you can create a subscription socket, with a listener, that subscribes The following sub-sections describe the supported connection patterns and how they can be used in an Akka environment. However, for a comprehensive discussion of connection patterns, please refer to `ZeroMQ -- The Guide `_. -Publisher-subscriber connection +Publisher-Subscriber Connection ------------------------------- In a publisher-subscriber (pub-sub) connection, the publisher accepts one or more subscribers. Each subscriber shall @@ -84,7 +84,7 @@ Another subscriber keep track of used heap and warns if too much heap is used. I .. includecode:: code/akka/docs/zeromq/ZeromqDocTestBase.java#alerter2 -Router-Dealer connection +Router-Dealer Connection ------------------------ While Pub/Sub is nice the real advantage of zeromq is that it is a "lego-box" for reliable messaging. And because there are so many integrations the multi-language support is fantastic. @@ -96,3 +96,34 @@ To create a Router socket that has a high watermark configured, you would do: .. includecode:: code/akka/docs/zeromq/ZeromqDocTestBase.java#high-watermark The akka-zeromq module accepts most if not all the available configuration options for a zeromq socket. + +Push-Pull Connection +-------------------- + +Akka ZeroMQ module supports ``Push-Pull`` connections. + +You can create a ``Push`` connection through the:: + + ActorRef newPushSocket(SocketOption[] socketParameters); + +You can create a ``Pull`` connection through the:: + + ActorRef newPullSocket(SocketOption[] socketParameters); + +More documentation and examples will follow soon. + +Rep-Req Connection +------------------ + +Akka ZeroMQ module supports ``Rep-Req`` connections. + +You can create a ``Rep`` connection through the:: + + ActorRef newRepSocket(SocketOption[] socketParameters); + +You can create a ``Req`` connection through the:: + + ActorRef newReqSocket(SocketOption[] socketParameters); + +More documentation and examples will follow soon. + diff --git a/akka-docs/scala/zeromq.rst b/akka-docs/scala/zeromq.rst index fa1160ee6d..13f563d18d 100644 --- a/akka-docs/scala/zeromq.rst +++ b/akka-docs/scala/zeromq.rst @@ -38,7 +38,7 @@ Similarly you can create a subscription socket, with a listener, that subscribes The following sub-sections describe the supported connection patterns and how they can be used in an Akka environment. However, for a comprehensive discussion of connection patterns, please refer to `ZeroMQ -- The Guide `_. -Publisher-subscriber connection +Publisher-Subscriber Connection ------------------------------- In a publisher-subscriber (pub-sub) connection, the publisher accepts one or more subscribers. Each subscriber shall @@ -82,7 +82,7 @@ Another subscriber keep track of used heap and warns if too much heap is used. I .. includecode:: code/akka/docs/zeromq/ZeromqDocSpec.scala#alerter -Router-Dealer connection +Router-Dealer Connection ------------------------ While Pub/Sub is nice the real advantage of zeromq is that it is a "lego-box" for reliable messaging. And because there are so many integrations the multi-language support is fantastic. @@ -94,3 +94,34 @@ To create a Router socket that has a high watermark configured, you would do: .. includecode:: code/akka/docs/zeromq/ZeromqDocSpec.scala#high-watermark The akka-zeromq module accepts most if not all the available configuration options for a zeromq socket. + +Push-Pull Connection +-------------------- + +Akka ZeroMQ module supports ``Push-Pull`` connections. + +You can create a ``Push`` connection through the:: + + def newPushSocket(socketParameters: Array[SocketOption]): ActorRef + +You can create a ``Pull`` connection through the:: + + def newPullSocket(socketParameters: Array[SocketOption]): ActorRef + +More documentation and examples will follow soon. + +Rep-Req Connection +------------------ + +Akka ZeroMQ module supports ``Rep-Req`` connections. + +You can create a ``Rep`` connection through the:: + + def newReqSocket(socketParameters: Array[SocketOption]): ActorRef + +You can create a ``Req`` connection through the:: + + def newRepSocket(socketParameters: Array[SocketOption]): ActorRef + +More documentation and examples will follow soon. +