Don't create the replacement actor until you've received a Terminated 
message for the original actor.

On Friday, October 2, 2015 at 8:58:54 AM UTC-6, Kostas kougios wrote:
>
> I create a named actor, stop it and recreate it with the same name. 
> Because stop is async, I end up with exceptions like
>
>   akka.actor.InvalidActorNameException: actor name [databaseServer] is not 
> unique!
> [info]   at 
> akka.actor.dungeon.ChildrenContainer$NormalChildrenContainer.reserve(ChildrenContainer.scala:130)
> [info]   at 
> akka.actor.dungeon.Children$class.reserveChild(Children.scala:77)
> [info]   at akka.actor.ActorCell.reserveChild(ActorCell.scala:373)
> [info]   at akka.actor.dungeon.Children$class.makeChild(Children.scala:215)
> [info]   at 
> akka.actor.dungeon.Children$class.attachChild(Children.scala:42)
> [info]   at akka.actor.ActorCell.attachChild(ActorCell.scala:373)
> [info]   at akka.actor.ActorSystemImpl.actorOf(ActorSystem.scala:586)
> [info]   at 
> org.distributedrange.actors.StreamActor$$anonfun$2.apply(StreamActor.scala:122)
>
> I get the same exception even if I set an AtomicBoolean to true at:
>
> override def postStop() = {
>    stopped.set(true)
>    super.postStop()
> }
>
>
> and then
>
> while (!stopped.get) {
>    Thread.sleep(1)
>  }
>
>
> Is there a way to "block" and wait till the actor stops?
> (don't worry about the block part, it is only for test cases)
>
> Thanks
>

-- 
>>>>>>>>>>      Read the docs: http://akka.io/docs/
>>>>>>>>>>      Check the FAQ: 
>>>>>>>>>> http://doc.akka.io/docs/akka/current/additional/faq.html
>>>>>>>>>>      Search the archives: https://groups.google.com/group/akka-user
--- 
You received this message because you are subscribed to the Google Groups "Akka 
User List" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.

Reply via email to