有一个按钮用来向后台请求数据,我已经限制了这个按钮,从发起请求到请求数据接收完之间按钮是不可点击的,但是我后台数据返回是很快的,如果快速频繁的点击它,仍然会导致它不断的向后台请求数据,然后请求无响应了,服务器那边没反应了,服务器无法访问了,看后台日志又一切正常,没有任何错误(日志这块不太熟,不确定是真没错误信息,还是信息没有打出来)。
这里我比较困惑:
为什么浏览器端频繁操作会导致服务器端无响应?
数据库访问没有加事务注解,导致数据库访问的连接没有被管理,导致连接池中连接数不断增加进而超出,然后服务器就无响应了。正常来说这应该会报错才对,我最开始选择的数据库连接池是org.apache.commons.dbcp.BasicDataSource,不知道为什么没有报错,让我对问题无法定位;然后通过tomcat日志中connection reset信息猜测和数据库连接数有关;然后我换了一个连接池org.logicalcobwebs.proxool.ProxoolDataSource,这回报错明显,当我数据库访问超过一定次数,直接报错告诉我连接数超出了;然后我就发现是连接数没有被释放,然后我就发现是代码里没有加事务的注解
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。