为什么播放框架超时?

时间:2015-03-24 19:47:03

标签: playframework

我正在使用任何一个

从命令行启动应用程序
    activator run 
    activator ~run

或在我启动激活控制台后,我使用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...)

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

[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]

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

2 个答案:

答案 0 :(得分:56)

我使用Play 2.3.9升级到激活器1.3.2,我也有同样的问题。它让我疯了。我发现原因是新的"叉在运行"设置在激活器1.3.2中添加。

打开build.sbt,你会发现:

fork in run := true

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

fork in run := false

答案 1 :(得分:0)

运行activator start或更好sbt start也可以解决问题,而无需删除分叉行为。