Thank you very much , exactly what I was looking for

2015-05-14 15:56 GMT+03:00 Martynas Mickevičius <
martynas.mickevic...@typesafe.com>:

> Hi Avi,
>
> On Sun, May 10, 2015 at 9:43 AM, Avi <123...@gmail.com> wrote:
>
>> Hi,
>> I want to implement I was looking at this example taken from typesafe
>> activator (spray-actor-per-request)
>> <http://www.typesafe.com/activator/template/spray-actor-per-request>
>>
>>
>> class RestRouting extends HttpService with Actor with PerRequestCreator {
>>
>> implicit def actorRefFactory: ActorContext = context
>>
>> def receive = runRoute(route)
>>
>> val petService = context.actorOf(Props[PetClient])
>> val ownerService = context.actorOf(Props[OwnerClient])
>>
>> val route = {
>>  get {
>>    path("pets") {
>>           parameters('names) { names =>
>>     petsWithOwner {
>>            GetPetsWithOwners(names.split(',').toList)
>>      }
>>    }
>>   }
>>  }
>> }
>>
>> def petsWithOwner(message : RestMessage): Route =
>> ctx => perRequest(ctx, Props(new GetPetsWithOwnersActor(petService,
>> ownerService)), message)
>> }
>>
>>
>>
>> and I wonder if this is the best parctice to implement the actors
>> creation :
>> ctx => perRequest(ctx, Props(new GetPetsWithOwnersActor(petService,
>> ownerService)), message)
>> because I saw at the akka documentation this warning
>> <http://doc.akka.io/docs/akka/snapshot/scala/actors.html> regarding
>> creating actor within an actor :
>> val props2 = Props(new ActorWithArgs("arg")) // careful, see below
>>
>
> The warning is here to remind users to be careful when constructing Props.
> It is important that Props are serializable. When constructing Props
> instances inside an actor one can easily close over the surrounding actor
> instance. To avoid this, there is a recommended practice to create Props
> factory methods inside the companion object that corresponds to your actor.
>
>
>>
>>
>> also if we define an actor within an actor
>> val ownerService = context.actorOf(Props[OwnerClient])
>> how can it be tested ?
>>
>
> To make this testable you would need to either OwnerClient ActorRef or
> Props into the RestRouting class. You can find more information with
> examples on testing parent-child relationships
> <http://doc.akka.io/docs/akka/2.3.11/scala/testing.html#Testing_parent-child_relationships>
> in the Akka documentation.
>
>
>>
>>
>> Just to make things clear - I am not criticizing, I am just trying to
>> learn the best practice of implementation specially as I see the typesafe
>> activator as educational source
>>
>>
>> Best wishes
>> Avi
>>
>>  --
>> >>>>>>>>>> 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 akka-user+unsubscr...@googlegroups.com.
>> To post to this group, send email to akka-user@googlegroups.com.
>> Visit this group at http://groups.google.com/group/akka-user.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
>
> --
> Martynas Mickevičius
> Typesafe <http://typesafe.com/> – Reactive
> <http://www.reactivemanifesto.org/> Apps on the JVM
>
> --
> >>>>>>>>>> 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 a topic in the
> Google Groups "Akka User List" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/akka-user/XGzZvxP_Rak/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> akka-user+unsubscr...@googlegroups.com.
> To post to this group, send email to akka-user@googlegroups.com.
> Visit this group at http://groups.google.com/group/akka-user.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
>>>>>>>>>>      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 akka-user+unsubscr...@googlegroups.com.
To post to this group, send email to akka-user@googlegroups.com.
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