Got it thanks

On Fri, Feb 13, 2015 at 7:16 AM, Patrik Nordwall <[email protected]>
wrote:

>
>
> On Wed, Feb 11, 2015 at 9:35 PM, Maatary Okouya <[email protected]>
> wrote:
>
>> Hi,
>>
>> I wonder what is happening behind the scene is spray .....
>>
>> Why do we have to call actor shutdown for the application to actually
>> terminate here.
>>
>> What i mean is that, usually in the main thread of my akka appliation. I
>> will have an awaitTermination. If i don't have this there is no need to
>> call a shutdown anyway, because the main will end and the program with it.
>>
>
> Akka threads are by default not daemonic, which means that a started
> ActorSystem will keep the JVM alive until you shutdown the ActorSystem. You
> don't need to awaitTermination in a separate thread.
>
> /Patrik
>
>
>>
>> I have tested and commented the shutdown method and indeed it does not
>> terminate.
>>
>> Please could you explain ?
>>
>>
>> object Main extends App {
>>   // we need an ActorSystem to host our application in
>>   implicit val system = ActorSystem("simple-spray-client")
>>   import system.dispatcher // execution context for futures below
>>   val log = Logging(system, getClass)
>>
>>   log.info("Requesting the elevation of Mt. Everest from Googles Elevation 
>> API...")
>>
>>   import ElevationJsonProtocol._
>>   import SprayJsonSupport._
>>   val pipeline = sendReceive ~> unmarshal[GoogleApiResult[Elevation]]
>>
>>   val responseFuture = pipeline {
>>     
>> Get("http://maps.googleapis.com/maps/api/elevation/json?locations=27.988056,86.925278&sensor=false";)
>>   }
>>   responseFuture onComplete {
>>     case Success(GoogleApiResult(_, Elevation(_, elevation) :: _)) =>
>>       log.info("The elevation of Mt. Everest is: {} m", elevation)
>>       shutdown()
>>
>>     case Success(somethingUnexpected) =>
>>       log.warning("The Google API call was successful but returned something 
>> unexpected: '{}'.", somethingUnexpected)
>>       shutdown()
>>
>>     case Failure(error) =>
>>       log.error(error, "Couldn't get elevation")
>>       shutdown()
>>   }
>>
>>   def shutdown(): Unit = {
>>     IO(Http).ask(Http.CloseAll)(1.second).await
>>     system.shutdown()
>>   }
>> }
>>
>>
>>  --
>> >>>>>>>>>> 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 Nordwall
> Typesafe <http://typesafe.com/> -  Reactive apps on the JVM
> Twitter: @patriknw
>
> [image: Scala Days] <http://event.scaladays.org/scaladays-sanfran-2015>
>
>  --
> >>>>>>>>>> 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/k7VmIFyYPMs/unsubscribe.
> To unsubscribe from this group and all its topics, 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.
>

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