Adding composable actor code snippet to docs, case closed
This commit is contained in:
parent
9b43134307
commit
937ecc3f50
2 changed files with 27 additions and 0 deletions
|
|
@ -657,3 +657,7 @@ extend that, either through inheritance or delegation, is to use
|
|||
``PartialFunction.orElse`` chaining.
|
||||
|
||||
.. includecode:: code/akka/docs/actor/ActorDocSpec.scala#receive-orElse
|
||||
|
||||
Or:
|
||||
|
||||
.. includecode:: code/akka/docs/actor/ActorDocSpec.scala#receive-orElse2
|
||||
|
|
@ -133,6 +133,29 @@ class SpecificActor extends GenericActor {
|
|||
case class MyMsg(subject: String)
|
||||
//#receive-orElse
|
||||
|
||||
//#receive-orElse2
|
||||
trait ComposableActor extends Actor {
|
||||
private var receives: List[Receive] = List()
|
||||
protected def registerReceive(receive: Receive) {
|
||||
receives = receive :: receives
|
||||
}
|
||||
|
||||
def receive = receives reduce { _ orElse _ }
|
||||
}
|
||||
|
||||
class MyComposableActor extends ComposableActor {
|
||||
override def preStart() {
|
||||
registerReceive({
|
||||
case "foo" ⇒ /* Do something */
|
||||
})
|
||||
|
||||
registerReceive({
|
||||
case "bar" ⇒ /* Do something */
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
//#receive-orElse2
|
||||
class ActorDocSpec extends AkkaSpec(Map("akka.loglevel" -> "INFO")) {
|
||||
|
||||
"import context" in {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue