Also, the stream itself runs in a separate thread than main(), so runForeach returns before the stream has been processed.
-Endre On Tue, Feb 23, 2016 at 6:18 PM, Matthew Adams <[email protected]> wrote: > That was it. Good to know. Thanks. > > -matthew > > On Tuesday, February 23, 2016 at 11:13:37 AM UTC-6, Konrad Malawski wrote: >> >> Because Akka uses non-daemonic threads, so it'll keep the app running >> until you shut-down the ActorSystem. >> >> You can do so via: >> >> import system.dispatcher >> s.runForeach(println).onComplete { _ => system.terminate() } >> >> -- >> Cheers, >> Konrad 'ktoso’ Malawski >> <http://akka.io>Akka <http://akka.io> @ Lightbend <http://typesafe.com> >> <http://lightbend.com> >> >> On 23 February 2016 at 18:11:36, Matthew Adams ([email protected]) >> wrote: >> >> * NB: posted >> at >> http://stackoverflow.com/questions/35583739/why-does-this-simple-akka-streams-program-never-terminate >> <http://stackoverflow.com/questions/35583739/why-does-this-simple-akka-streams-program-never-terminate> >> before I thought to post here.* >> >> Should be a simple question. I'm using Akka 2.4.2 (contains Akka Streams >> & HTTP). I expected this Source to complete & the program to terminate >> because the Source is finite, but it never does. Why doesn't this program >> terminate? >> >> import scala.concurrent._ >> import scala.collection.immutable._ >> import akka._ >> import akka.actor._ >> import akka.stream._ >> import akka.stream.scaladsl._ >> import akka.util._ >> >> object Test extends App { >> >> implicit val system = ActorSystem("TestSystem") >> implicit val materializer = ActorMaterializer() >> >> val s = Source.single(1) >> s.runForeach(println) >> } >> >> Output: >> >> $ sbt run >> ... >> [info] Running Test >> [DEBUG] [02/23/2016 10:59:19.904] [run-main-0] >> [EventStream(akka://TestSystem)] logger log1-Logging$DefaultLogger started >> [DEBUG] [02/23/2016 10:59:19.904] [run-main-0] >> [EventStream(akka://TestSystem)] Default Loggers started >> 1 >> >> Relevant portion of my build.sbt file: >> >> scalaVersion := "2.11.7" >> >> scalacOptions := Seq("-unchecked", "-deprecation", "-encoding", "utf8") >> >> libraryDependencies ++= { >> val akkaVersion = "2.4.2" >> Seq( >> "com.typesafe.akka" %% "akka-stream" % akkaVersion >> ) >> } >> >> -matthew >> -- >> >>>>>>>>>> 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 https://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 https://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 https://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.
