Created
December 26, 2014 15:57
-
-
Save orangy/84a83d4eea393f0d6ffd to your computer and use it in GitHub Desktop.
Primitive Akka request-response code
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package org.jetbrains.akkatest | |
import akka.actor.* | |
import akka.routing.* | |
class Request | |
class Response | |
class Handler : UntypedActor() { | |
override fun onReceive(message: Any): Unit = when (message) { | |
is Request -> { | |
println("Got request") | |
getSender().tell(Response(), getSelf()) | |
} | |
else -> unhandled(message) | |
} | |
} | |
class Requester : UntypedActor() { | |
val handler = getContext().actorOf(Props.create(javaClass<Handler>())) | |
override fun preStart() { | |
super.preStart() | |
handler.tell(Request(), getSelf()) | |
} | |
override fun onReceive(message: Any?): Unit = when (message) { | |
is Response -> { | |
println("Got response") | |
} | |
else -> unhandled(message) | |
} | |
} | |
fun main(args: Array<String>) { | |
ActorSystem.create().actorOf(Props.create(javaClass<Requester>())) | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment