java – Spring-Boot:同时处理多个请求
发布时间:2020-05-28 23:57:55 所属栏目:Java 来源:互联网
导读:我使用的是 Spring Boot to build a RESTful web service.我的IDE是Eclipse Oxygen. 我通过Chrome每隔2秒发送一次HTTP get请求,但它们会逐个触发.每个请求都将等待上一个请求完成. 这是我的控制器代码: @RestController@RequestMapping(/dummy)public class
|
我使用的是 Spring Boot to build a RESTful web service.我的IDE是Eclipse Oxygen. 我通过Chrome每隔2秒发送一次HTTP get请求,但它们会逐个触发.每个请求都将等待上一个请求完成. 这是我的控制器代码: @RestController
@RequestMapping("/dummy")
public class DummyController {
@RequestMapping(method = RequestMethod.GET)
public ResponseEntity<Map<String,String>> dummytsp(@RequestParam(value="msg",defaultValue="Hello") String msg) {
System.out.println("" + new Date() + ": ThreadId " + Thread.currentThread().getId());
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Map<String,String> response = new HashMap<>();
response.put("message",msg);
return new ResponseEntity<>(response,HttpStatus.OK);
}
}
我的控制台输出是: Thu Sep 14 11:31:15 EDT 2017: ThreadId 25 Thu Sep 14 11:31:20 EDT 2017: ThreadId 26 Thu Sep 14 11:31:25 EDT 2017: ThreadId 28 Thu Sep 14 11:31:30 EDT 2017: ThreadId 30 控制台输出显示控制器每5秒调用一次.但我每2秒发送一次请求. 我怎么能同时处理多个传入请求? (我应该每2秒看一次控制台输出) 更新: 如果我在不同的浏览器中发送请求,它会完美运行. 是否可以接受来自同一会话的并发多个请求? 谢谢! 解决方法默认情况下,Spring Boot Web应用程序是多线程的,可以同时处理多个请求.这可能是浏览器特定的怪癖.在Windows 10上,Chrome& Firefox似乎将多个请求排队到同一个URL,而IE,Edge和&卷曲不. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
