This example adds one level of difficulty to my original
Akka Remote "Hello, world" example. Where the original example
sent String
messages between the Local and Remote actors, this
example encapsulates its messages in two simple objects:
Message
Start
The differences between this example and the original example are:
- This code includes a Common project that contains the
Message
andStart
class definitions. - The compiled JAR file from the Common project is included in the lib folders of both the HelloLocal and HelloRemote projects.
- The actor code in the HelloLocal and HelloRemote projects sends
messages using the
Message
andStart
classes. (Technically,Start
is a case object, andMessage
is a case class.)
For the purposes of this code, I assume you know the following:
- Scala
- SBT (the Simple Build Tool)
- How to use Akka actors within one JVM (i.e., the actor basics)
- You've run my original Akka Remote "Hello, world" example
Follow these steps to run the code:
cd
into the HelloRemote directory.- Type
sbt run
to start the remote actor system. - In a separate terminal window,
cd
into the HelloLocal directory. - Type
sbt run
to start the local actor system.
When the local actor system starts, it will send an initial message
to the remote actor system. The remote actor will send a reply through
its sender
reference, and this will continue five times. When the
action stops, stop each system by pressing Ctrl-C.
If you're having any problems with this code, edit the application.conf file in the src/main/resources directory of each project, and remove the comments from the debug-related lines.
For more information on this project, see the following URL:
http://alvinalexander.com/scala/akka-remote-sending-objects-messages
For information on my original Akka Remote "Hello, world" example, see this URL:
http://alvinalexander.com/scala/simple-akka-actors-remote-example
You can find me at: