今天,在RESTlet中测试一些速度缓慢的代码(必须等待来自慢速源的数据)时,我注意到Wildfly不允许我启动其他线程,并且只会在一个单独运行RESTlet线程也是如此,意味着多个连接必须等待前一个连接完成。
奇怪的是,即使使用通过ManagedExecutorService
子系统配置的urn:jboss:domain:ee:3.0
来允许更多线程,仍然只能生成一个新线程,然后按顺序处理请求。
我是否误解了该子系统应该如何工作?或者这是对RESTEasy方面的某种限制吗?我过去使用普通的WebServlet并发,而不会遇到这种行为。
答案 0 :(得分:1)
也许你的问题出在客户端。你如何测试你的代码?我试图通过在某种方法中放置Thread.sleep(5000)
来访问Wildfly 8.2中的一些REST服务。例如,如果我在Firefox或Chrome中打开两个选项卡,则只会同时处理一个请求,并且需要10秒。但是,并行使用Firefox和Chrom,它们都会在5秒内得到响应。