为什么播放框架超时?

mkr*_*blk 25 playframework

我正在使用命令行从应用程序启动应用程序

    activator run 
    activator ~run
Run Code Online (Sandbox Code Playgroud)

或者在我启动激活器控制台后,我使用run或~run.
一切似乎都有效,它给出了预期

 --- (Running the application, auto-reloading is enabled) ---

   play - Listening for HTTP on /0:0:0:0:0:0:0:0:9000

   (Server started, use Ctrl+D to stop and go back to the console...)
Run Code Online (Sandbox Code Playgroud)

我可以在浏览器中查看应用程序,我可以在代码中进行更改,并且可以重新加载它们.问题是,在仅仅几分钟之后,它似乎就像"超时"一样,因为如果我在此之后尝试重新加载,浏览器就会在那里旋转.如果我让它旋转足够长的话我会得到.

[error] application - 
[info] 
[info] ! Internal server error, for (GET) [/] ->
[info] 
[info] java.util.concurrent.TimeoutException: Futures timed out after [300000 milliseconds]
[info]  at scala.concurrent.impl.Promise$DefaultPromise.ready(Promise.scala:219) ~[scala-library-2.11.1.jar:na]
[info]  at scala.concurrent.impl.Promise$DefaultPromise.result(Promise.scala:223) ~[scala-library-2.11.1.jar:na]
[info]  at scala.concurrent.Await$$anonfun$result$1.apply(package.scala:111) ~[scala-library-2.11.1.jar:na]
[info]  at scala.concurrent.BlockContext$DefaultBlockContext$.blockOn(BlockContext.scala:53) ~[scala-library-2.11.1.jar:na]
[info]  at scala.concurrent.Await$.result(package.scala:111) ~[scala-library-2.11.1.jar:na]
Run Code Online (Sandbox Code Playgroud)

我真的很感激任何帮助.由于每次进行更改时都必须重新启动应用程序,因此实际上会消除框架的吸引力.

neu*_*zen 56

我用Play 2.3.9升级到了激活器1.3.2,我也遇到了同样的问题.它让我疯了.我发现原因是在激活器1.3.2中添加了新的"fork in run"设置.

打开build.sbt,你会发现:

fork in run := true
Run Code Online (Sandbox Code Playgroud)

将此设置为false,如下所示:

fork in run := false
Run Code Online (Sandbox Code Playgroud)

  • 在邮件列表上,我看到很多人都说这个固定的东西.但是,"fork in run"的目的是什么?通过将其设置为false,其他东西不起作用? (9认同)
  • 另外,停止在fork中运行cosume less memory! (2认同)