Note that this advice is correct but only when the parent actor receives
the Terminated, i.e. it does not hold for top level actors where you can
only watch from the "outside".
tors 8 okt. 2015 kl. 11:46 skrev Kostas kougios <
[email protected]>:
> Thanks, I am doing that now and hopefully it works (the issue occurred
> very rarely, so I have to wait and see)
>
>
> On Friday, 2 October 2015 17:16:35 UTC+1, Ryan Tanner wrote:
>>
>> 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.
>
--
/Patrik
--
>>>>>>>>>> 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.