今天早上我升級到了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