Playframework 同步调用的控制器方法

Playframework 同步调用的控制器方法,playframework,playframework-2.0,Playframework,Playframework 2.0,选择并将以下内容添加到HomeController的索引方法中: System.out.println("Before"); Thread.sleep(5000); System.out.println("After"); 然后在浏览器中运行几个选项卡,调用http://localhost:9000 预期的行为是,一旦从浏览器选项卡发出请求,就会打印之前的。 而实际结果是,后续请求仅在前一个请求完成后才开始执行。请注意,只有在控制器中调用相同的方法时才能观察到这一点:两个不同的方法同时成功运行

选择并将以下内容添加到
HomeController
索引方法中:

System.out.println("Before");
Thread.sleep(5000);
System.out.println("After");
然后在浏览器中运行几个选项卡,调用
http://localhost:9000

预期的行为是,一旦从浏览器选项卡发出请求,就会打印
之前的
。
而实际结果是,后续请求仅在前一个请求完成后才开始执行。请注意,只有在控制器中调用相同的方法时才能观察到这一点:两个不同的方法同时成功运行


也许我弄错了什么,但我在
application.conf
中尝试了几乎所有可能的配置,看起来线程池有足够的线程,我仍然无法在不同的线程中同时执行该方法。

这很可能是由于浏览器拒绝同时向同一资源发出请求,而与播放无关。当我在我的机器上运行相同的测试时,我看到Chrome对索引页的请求上限为两个,而不管我打开了多少个选项卡,而当我从多个不同的控制台窗口运行curl时,我看不到这样的限制


您的浏览器确实不是运行此类测试的正确工具。

哇,这真是出乎意料。谢谢