Susan Harkins (212) [Avatar] Offline
#1
Please post errors in the published version of Akka in Action here. We'll publish a comprehensive list for everyone's convenience. Thank you!

Susan Harkins
Errata Editor
Dimitar Kostov (7) [Avatar] Offline
#2
Is there such thing as "published version of Akka in Action" ?
Susan Harkins (212) [Avatar] Offline
#3
Due for release any day. Did I misunderstand the question?

Susan H.
Dimitar Kostov (7) [Avatar] Offline
#4
Nope, I just think it would be long time before we'll need that topic
303763 (3) [Avatar] Offline
#5
eBook pages 10 and 12: Sections 1.4.2 and 1.4.3 have the same title, Traditional scaling and interactive use: polling.
Graeme Ludwig (6) [Avatar] Offline
#6
In section 3.2.2, SendingActor example, the text says:

"Since the SortEvents message contains a random vector of events, we can’t use an expectMsg(msg); we can’t formulate an exact match for it. In this case we use expectMsgPF, which takes a partial function just like the receive of the actor."

This seems incorrect to me. Whilst using expectMsgPF() is fine, especially when constructing more involved tests, the example given:

expectMsgPF() {
case SortedEvents(events) =>
events.size must be(size)
unsorted.sortBy(_.id) must be(events)
}

could be replaced with:

expectMsg(SortedEvents(unsorted.sortBy(_.id)))
13411 (1) [Avatar] Offline
#7
In section 2.2.1 - Structure of the App - it mentions "The app consists of two actor classes in total."

In the figure 2.1, there are three actors referred to - RestApi, BoxOffice and TicketSeller - or am I missing something?
AllanJacobs (47) [Avatar] Offline
#8
In Section 3.3 (page 63): "You’ve already seen an example of two-way messages in the multithreaded test for the SendingActor style actor, where we used a GetState message that contained an ActorRef ."

The test that used GetState was for the SilentActor type.
AllanJacobs (47) [Avatar] Offline
#9
Listing 5.9 and the accompanying text have a problem. The text says that a Future[Nothing] is returned when an exception is thrown with no more information than an address. In "about this book", "Scala is used in all examples, and all code is tested with Scala 2.11.8."

$ scala
Welcome to Scala 2.11.8 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_121).
Type in expressions for evaluation. Or try :help.

scala> :paste
// Entering paste mode (ctrl-D to finish)

import scala.concurrent._
import ExecutionContext.Implicits.global
val futureFail = Future { throw new Exception("error!")}
futureFail.foreach(value => println(value))

// Exiting paste mode, now interpreting.

import scala.concurrent._
import ExecutionContext.Implicits.global
futureFail: scala.concurrent.Future[Nothing] = Failure(java.lang.Exception: error!)