Use actors in the game

I follow the description of the plays on how to use actors: https://www.playframework.com/documentation/2.4.x/ScalaAkka they offer something like:

@Singleton class Application @Inject() (system: ActorSystem) extends Controller { val helloActor = system.actorOf(HelloActor.props, "hello-actor") //... } 

But this leads to:

 play.sbt.PlayExceptions$CompilationException: Compilation error[trait Singleton is abstract; cannot be instantiated] at play.sbt.PlayExceptions$CompilationException$.apply(PlayExceptions.scala:27) ~[na:na] at play.sbt.PlayExceptions$CompilationException$.apply(PlayExceptions.scala:27) ~[na:na] at scala.Option.map(Option.scala:145) ~[scala-library-2.11.6.jar:na] at play.sbt.run.PlayReload$$anonfun$taskFailureHandler$1.apply(PlayReload.scala:49) ~[na:na] at play.sbt.run.PlayReload$$anonfun$taskFailureHandler$1.apply(PlayReload.scala:44) ~[na:na] at scala.Option.map(Option.scala:145) ~[scala-library-2.11.6.jar:na] at play.sbt.run.PlayReload$.taskFailureHandler(PlayReload.scala:44) ~[na:na] at play.sbt.run.PlayReload$.compileFailure(PlayReload.scala:40) ~[na:na] at play.sbt.run.PlayReload$$anonfun$compile$1.apply(PlayReload.scala:17) ~[na:na] at play.sbt.run.PlayReload$$anonfun$compile$1.apply(PlayReload.scala:17) ~[na:na] 

Tos sees what I have done or stick to: https://github.com/dataplayground/playground

Edit

Removing @Singleton results in:

 could not find implicit value for parameter timeout: akka.util.Timeout 

This is the code:

 implicit val timeout = 5.seconds def sayHello(name: String) = Action.async { (helloActor ? SayHello(name)).mapTo[String].map { message => Ok(message) } } 
+7
singleton akka playframework
source share
1 answer

use

 implicit val timeout = akka.util.Timeout(5.seconds) 

and import javax.inject.Singleton

+9
source share

All Articles