Thank you for purchasing Reactive Web Applications. Please post any errors, other than those listed below, in the book's
Author Online Forum. We'll compile a comprehensive list and publish it here for everyone's convenience. Thank you!
Last updated December 1, 2016
-
Page 36, above Listing 2.7
app/controllers/Application.conf
should be
app/controlers/Application.scala
-
Page 37, under Listing 2.7
The first thing you have to do in this setup is get an enumerator to work with. Iteratees are used to consume streams, whereas enumeratees produce them.
should be
The first thing you have to do in this setup is get an enumerator to work with. Iteratees are used to consume streams, whereas enumerators produce them.
-
Page 84, under the curl command
This should produce a 501 Not Implemented result (because you have a TODO action and no real implementation).
Then check out an invalid language
should be
This should produce a 501 Not Implemented result (because you have a TODO action and no real implementation).
Then replace the TODO action with an action that returns Ok (Action { request => Ok }) and check out what happens with an invalid language.
Page 144, Listing 6.6
case class FetchFollowerCount(user: String)
case class FollowerCount(user: String, followersCount: Int)
should be
case class FetchFollowerCount(tweetId: BigInt, user: String)
case class FollowerCount(tweetId: BigInt, user: String, followersCount: Int)
Page 169, "Creating and evolving the schema of a database"
There needs to be an additional dependency in order to be able to run the evolutions:
libraryDependencies ++= Seq(
jdbc,
"org.postgresql" % "postgresql" % "9.4-1201-jdbc41"
)
should be
libraryDependencies ++= Seq(
jdbc,
evolutions,
"org.postgresql" % "postgresql" % "9.4-1201-jdbc41"
)
Page 174, Listing 7.7
val sql: DSLContext
should be
val context: DSLContext
Page 188, Section 7.2.3 Writing the event stream with persistent actors
The underlying idea of the CQRS model is to turn commands into events once they’ve been validated
should be
The underlying idea of the CQRS with Event Sourcing model is to turn commands into events once they’ve been validated
Page 193, Exercise 7.2
The exercise mentions the
ClientConnectionHandler
whereas this should be ClientCommandHandler