今天早上我升级到了Play 1.2.1,所以我可以利用他们的新的异步编程和HTTP功能。Play Framework await()导致意外的异常
当我使用下面的示例时,从Play文档(*我是 使用不同的方法名称*),我收到一个UnexpectedException 错误。
public static void loopWithoutBlocking() {
for(int i=0; i<=10; i++) {
Logger.info(i);
await("1s");
}
renderText("Loop finished");
}
误差如下:
Oops: UnexpectedException
An unexpected error occured caused by exception UnexpectedException:
While applying class play.classloading.enhancers.ContinuationEnhancer
on controllers.Application
上面的示例方法被放置在应用控制器中和我已经包括play.libs.F库。
是否使用的await()调用需要嵌套更深层次的东西中的方法?
我不明白?我创建了一个新的应用程序(使用Play 1.2),并用上面的代码替换了索引方法,它运行良好。我没有必要导入play.libs.F(因为await是Controller的一部分)。我不得不改变记录器,因为编译器抱怨,但就是这样。你使用的是什么版本的Java? – Codemwnci 2011-06-01 14:44:00
@Codemwnci - 感谢您的回复。我发现,当我从Application类剥离所有代码并使用上面的代码时,我没有问题。出于某种原因,await()调用似乎与一种不相关的方法冲突。在用另一种方法整理代码之后,问题自行解决。我不认为我会永远找出它的真正原因。 – 2011-06-01 15:52:07
有可能您的其他方法或属性之一意外地超过了Controller中等待依赖的方法?很高兴它已经排序了。 – Codemwnci 2011-06-01 15:56:23