Create a gist now

Instantly share code, notes, and snippets.

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
alaz commented Mar 6, 2011
override def preStart {
  super.preStart
  ...

?

@viktorklang
Owner

Alaz: Care to write that in code?

@alaz
alaz commented Mar 6, 2011

The pleasure is all mine

@twillouer

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
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