当客户端取消请求或客户端套接字关闭时,如何在play framework 2.1中中止控制器动作?

gav*_*oto 2 request playframework-2.0

我正在测试播放框架2.1,以检查客户端取消请求或从客户端关闭套接字时会发生什么。我创建了这个简单的程序:

包装控制器;

导入播放。; 导入play.mvc。;

导入views.html。*;

公共类应用程序扩展了控制器{

public static Result index() { try{ for(int i=0;i<1000;i++){ Thread.sleep(10000); System.out.println(i+"\n"); } }catch(Exception e){ System.out.println("\nexcepción capturada"); } return ok(index.render("Your new application is ready.")); }
Run Code Online (Sandbox Code Playgroud)

}

如果我取消了来自客户端(谷歌浏览器)的请求,循环不会终止。我认为这可能是现实应用程序中的一个问题,不是进行循环,而是对数据库进行“大量”查询。

Fab*_*ler 5

由于没有答案,我在Google网上论坛上要求玩游戏 https://groups.google.com/forum/?hl=zh-CN#topic/play-framework/POvFA3moXug ,这是Typesafe的James Roper说的:

Play 没有提供此类功能。但是,还有其他方法可以实现相同的目的,例如,如果您有一个运行时间很长的请求,则可以将其作为websockets请求来执行,这使您可以轻松地检测到客户端何时导航到其他页面。

截止到今天,最新版本是play-2.2.0-RC1(以防以后添加支持)。