2012-08-14 82 views
2

後仍然獲得期貨[5000]後超時即使我將下面的超時值設置爲10秒,我仍在收到此錯誤。系統是Play 2.0.3。播放2.0.3在設置promise.akka.actor.typed.timeout

2012-08-14T08:52:20+00:00 app[web.1]: play.core.ActionInvoker$$anonfun$receive$1$$anon$1: Execution exception [[TimeoutException: Futures timed out after [5000] milliseconds]] 
2012-08-14T08:52:20+00:00 app[web.1]: at play.core.ActionInvoker$$anonfun$receive$1.apply(Invoker.scala:134) [play_2.9.1-2.0.3.jar:2.0.3] 
2012-08-14T08:52:20+00:00 app[web.1]: at play.core.ActionInvoker$$anonfun$receive$1.apply(Invoker.scala:115) [play_2.9.1-2.0.3.jar:2.0.3] 
2012-08-14T08:52:20+00:00 app[web.1]: at akka.actor.Actor$class.apply(Actor.scala:318) [akka-actor-2.0.2.jar:2.0.2] 
2012-08-14T08:52:20+00:00 app[web.1]: at play.core.ActionInvoker.apply(Invoker.scala:113) [play_2.9.1-2.0.3.jar:2.0.3] 
2012-08-14T08:52:20+00:00 app[web.1]: at akka.actor.ActorCell.invoke(ActorCell.scala:626) [akka-actor-2.0.2.jar:2.0.2] 
2012-08-14T08:52:20+00:00 app[web.1]: at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:197) [akka-actor-2.0.2.jar:2.0.2] 
2012-08-14T08:52:20+00:00 app[web.1]: Caused by: java.util.concurrent.TimeoutException: Futures timed out after [5000] milliseconds 
2012-08-14T08:52:20+00:00 app[web.1]: at akka.dispatch.DefaultPromise.ready(Future.scala:870) ~[akka-actor-2.0.2.jar:2.0.2] 
2012-08-14T08:52:20+00:00 app[web.1]: at akka.dispatch.DefaultPromise.result(Future.scala:874) ~[akka-actor-2.0.2.jar:2.0.2] 
2012-08-14T08:52:20+00:00 app[web.1]: at akka.dispatch.Await$.result(Future.scala:74) ~[akka-actor-2.0.2.jar:2.0.2] 
2012-08-14T08:52:20+00:00 app[web.1]: at play.api.libs.concurrent.AkkaPromise.await(Akka.scala:43) ~[play_2.9.1-2.0.3.jar:2.0.3] 
2012-08-14T08:52:20+00:00 app[web.1]: at play.api.libs.concurrent.Promise$class.await(Promise.scala:55) ~[play_2.9.1-2.0.3.jar:2.0.3] 
2012-08-14T08:52:20+00:00 app[web.1]: at play.api.libs.concurrent.AkkaPromise.await(Akka.scala:28) ~[play_2.9.1-2.0.3.jar:2.0.3] 



$ tail -1 conf/application.conf 
promise.akka.actor.typed.timeout=10s 
+0

我得到相同的行爲在播放2.1,但只是偶爾。我無法確定究竟是什麼原因造成的。我很少直接使用工作或Akka,我只有一個從'onstart'調用的Akka調度器:'Akka.system.scheduler.schedule(10秒,10秒,monitorActor,Tick)'。你能解決這個問題嗎? – ripper234 2013-05-01 10:16:20

+0

你可以試試play.akka.actor.typed.timeout = 12s – angelokh 2013-05-01 15:26:54

回答

0

嘗試:

play.akka.actor.typed.timeout=10s 
+1

我試了一下,但是在[5000]毫秒後仍然會超時。 – angelokh 2012-10-08 21:59:23

+0

順便說一句,我添加此配置到additionalConfiguration和測試用例像這樣使用它:play.api.test.FakeApplication( 路徑, 類加載器, Scala.toSeq(additionalPlugins) Scala.toSeq(withoutPlugins) 斯卡拉.asScala(additionalConfiguration) ); – angelokh 2012-10-08 22:01:08

+0

'additionalConfiguration'是什麼意思?這應該在你的'conf/application.conf'文件中。您可能還想嘗試設置'play.akka.actor.retrieveBodyParserTimeout = 10s' – 2012-10-09 03:12:39