Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.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 Spring MVC中的每用户级同步_Java_Spring_Spring Mvc - Fatal编程技术网

Java Spring MVC中的每用户级同步

Java Spring MVC中的每用户级同步,java,spring,spring-mvc,Java,Spring,Spring Mvc,我正在用SpringMVC设计一个上传功能。所有从客户端上传的内容都会到达一个端点,该端点负责处理ajax调用。映射到端点的控制器调用“@Service”类中的函数 此函数通过将其上载到my cloud文件系统并修改会话变量来执行实际上载。问题是上传需要一段时间才能完成。因此,控制器返回的时间延长。我希望我的控制器立即返回,启动一个线程来处理上传,然后返回。如果来自同一客户机的多个上载同时调用端点,我想确保对会话变量的同步访问,如何做到这一点?Spring使用servlet技术,为servlet

我正在用SpringMVC设计一个上传功能。所有从客户端上传的内容都会到达一个端点,该端点负责处理ajax调用。映射到端点的控制器调用“@Service”类中的函数


此函数通过将其上载到my cloud文件系统并修改会话变量来执行实际上载。问题是上传需要一段时间才能完成。因此,控制器返回的时间延长。我希望我的控制器立即返回,启动一个线程来处理上传,然后返回。如果来自同一客户机的多个上载同时调用端点,我想确保对会话变量的同步访问,如何做到这一点?

Spring使用servlet技术,为servlet上的每个请求创建不同的线程(不是不同的实例)因此,您真正想要完成的关于线程的任务已经完成。

Spring使用servlet技术,为servlet上的每个请求创建不同的线程(而不是不同的实例),因此您真正想要完成的关于线程的任务已经完成。

假设两个请求大致同时出现,它们都试图修改会话属性。这会导致一些同步问题吗?但是两个线程竞相修改共享会话属性数据,这是如何工作的?运行servlet的容器将处理此问题不确定文档,这取决于您的容器,您可以搜索容器如何在同一个servlet(例如tomcat)上处理不同的请求,您会发现许多有用的文章。如果两个请求大致同时出现,它们都会尝试修改会话属性。这会导致一些同步问题吗?但是两个线程竞相修改共享会话属性数据,这是如何工作的?运行servlet的容器将处理此问题不确定文档,这取决于您的容器,您可以搜索容器如何在同一个servlet(例如tomcat)上处理不同的请求,您将找到许多有用的文章