Create a gist now

Instantly share code, notes, and snippets.

What would you like to do?
PostStart implementation for Akka
trait PostStart { actor: Actor =>
def postStart: Unit
override def preStart {
actor.become {
case "PostStart" => try { postStart } finally { actor.unbecome }
}
actor.self ! "PostStart"
}
}
/*Usage: class MyActor extends Actor with PostStart {
def postStart = {
...
}
def receive = {
... your usual business stuff goes here ...
}
}*/

alaz commented Mar 6, 2011

override def preStart {
  super.preStart
  ...

?

Owner

viktorklang commented Mar 6, 2011

Alaz: Care to write that in code?

alaz commented Mar 6, 2011

The pleasure is all mine

Hi,

trait PostStart { actor: Actor =>
  def postStart: Unit

  override def preStart {
    context.become {
      case "PostStart" => try { postStart } finally { context.unbecome }
    }
    actor.self ! "PostStart"
  }
}

with Akka 2.1 (I didn't see this version)

raq154 commented Jan 18, 2015

Can you provide java version of this code?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment