Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java RequestMapping不是多线程的吗?_Java_Spring_Spring Mvc - Fatal编程技术网

Java RequestMapping不是多线程的吗?

Java RequestMapping不是多线程的吗?,java,spring,spring-mvc,Java,Spring,Spring Mvc,我的控制器中有一个RequestMapping侦听web请求,每当有人访问我的网页时,它都会将响应延迟5000毫秒 一切正常,但当我同时使用Chrome中的新选项卡再次访问时,第二个请求最终被延迟10000毫秒。这让我困惑,SpringMVC不是多线程的吗?有人能告诉我这里发生了什么事吗 @RequestMapping("/view") @ResponseBody public String View() throws InterruptedException { Thread.sle

我的控制器中有一个RequestMapping侦听web请求,每当有人访问我的网页时,它都会将响应延迟5000毫秒

一切正常,但当我同时使用Chrome中的新选项卡再次访问时,第二个请求最终被延迟10000毫秒。这让我困惑,SpringMVC不是多线程的吗?有人能告诉我这里发生了什么事吗

@RequestMapping("/view")
@ResponseBody

public String View() throws InterruptedException {
    Thread.sleep(5000);
    return "done";
}
编辑
我的spring boot版本是1.2.7。发行版。

依赖项:spring boot starter web

如果在会话中打开了新选项卡,可能会导致同步问题。 当您查看Spring文档时,您会发现:
RequestMappingHandlerAdapter.setSynchronizeOnSession(布尔值)
用于同步会话互斥体上的每个控制器。对于您的应用程序来说,这可能是过分的。但它至少使控制器在会话上线程安全,而不会阻塞其他用户


希望,这会有所帮助。

我无法复制此内容。嗨,m.aibin,谢谢你的回复,我按照此内容修改SynchronizeOnSession属性。我发现默认值为false,这是否意味着我的进程处于异步状态?如果我将SynchronizeOnSession设置为true,结果不会改变。我使用了错误的方法?