Play Framework 2.1をテストして、クライアントのキャンセル要求またはソケットがクライアント側から閉じられたときに何が起こるかを確認しています。私はこの簡単なプログラムを作成しました:
パッケージコントローラー;プレイをインポートします。; play.mvcをインポートします。;
インポートviews.html。*;
public class Application extends Controller {
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.")); }
}
クライアント(グーグルクローム)からのリクエストをキャンセルしても、ループは中止されません。これは、実際のアプリケーションでは問題になる可能性があると思います。ループを作成するのではなく、データベースに対して「重い」クエリを実行します。