博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于 synchronizeOnSession
阅读量:6681 次
发布时间:2019-06-25

本文共 765 字,大约阅读时间需要 2 分钟。

本文为[原创]文章,转载请标明出处。
原文链接:
原文出自

最近在维护一个老项目,发现了一个问题。我们新增了一个耗时较久的复杂查询的功能,页面采用了 ajax 异步请求数据,但是请求未返回之前,点击页面其他功能都只能打开空白页,必须等待之前的数据返回后才能开始加载,整个过程是串行等待,调试过程中发现服务器仅分配了一个线程给该用户。故查看了一下原始代码,发现 web.xml 中配置了如下参数:

synchronizeOnSession
true

看了一下 spring mvc 的说明文档,仅找到一处说明:

Enforces the presence of a session. As a consequence, such an argument is never null. Note that session access is not thread-safe. Consider setting the RequestMappingHandlerAdapter instance’s synchronizeOnSession flag to true if multiple requests are allowed to concurrently access a session.

因为 session 是非线程安全的,如果需要保证用户能够在多次请求中正确的访问同一个 session ,就要将 synchronizeOnSession 设置为 TRUE

所以此处把synchronizeOnSession 改为 false 后,问题随之解决,调试中可以看到服务器为用户分配了多个线程。

同时也可以参考这个

参考资料
你可能感兴趣的文章
Watches OpenCart 主题模板 ABC-0088
查看>>
linux iptables 相关应用
查看>>
怎样做好DNS服务器的保护
查看>>
Java对象创建时的初始化顺序
查看>>
linux bash环境变量简单总结
查看>>
JAVA 读取配置文件
查看>>
蓝桥杯 马虎的算式(全排列)
查看>>
Oracle修改表字段类型(number-->varchar2(len)),亲测可用
查看>>
编译错误(WDK).warning treated as error - no ‘object’ file generated
查看>>
数据库表中批量替换某个字段的方法
查看>>
典型用户和场景
查看>>
碎点小结
查看>>
结对编程的看法
查看>>
ruby 字符串加密
查看>>
Laravel 中缓存驱动的速度比较
查看>>
C struct 隐藏结构体成员
查看>>
Python中的 sort 和 sorted
查看>>
Ubiquitous Religions-并查集(5)
查看>>
HDU2059:龟兔赛跑(dp)
查看>>
[Unity3D][转] 关于Assets资源目录结构管理
查看>>