程序莫名其妙的阻塞,卡在那里不动了

flashroom 2008-06-13 11:18:37
系统使用 struts spring hibernate 开发
其中使用了 spring 的 OpenSessionInViewFilter

现在用户反映在系统使用一段时间以后就卡住了,所有人点系统都没有反应。

=====================================================================
日志停到这里不动了
[LOG]opening JDBC connection - org.hibernate.jdbc.ConnectionManager


原来以为是哪个方法有申请两个以上连接的情况,于是把连接池大小改为 1 ,所有功能点了个遍没出现问题。用LOADRUNNER录了段脚本,1个用户没事、2个用户没事。。。5个用户同时用只有1个连接的连接池的时候就会出现那种情况(系统突然卡住不动了。。。)

卡在哪了?想了半天也没想出个结果

大家帮我分析分析~




...全文
237 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
flashroom 2008-06-13
  • 打赏
  • 举报
回复
问题找到了

确实是 OpenSessionInView 的问题 ,改了以后 100个并发用只有1个连接的连接池没出问题。

看来这玩意儿还是不大稳定

initialize 吧,要不就 lazy=false

还是自己控制比较放心
flashroom 2008-06-13
  • 打赏
  • 举报
回复
肯定是连接没有被释放

但是为什么并发的时候才会出现这种问题呢?

硬着头皮看完一段LOG,发现有一个TOMCAT线程申请到连接以后运行一段时间以后莫名其妙的中止了。。。。。

代码没有问题啊。。。。单独访问这个功能的时候看LOG它也老老实实的把事务提交把连接返回,为什么一并发就会罢工?实在搞不懂了。。。

TRMeister 2008-06-13
  • 打赏
  • 举报
回复
连接池中的连接没有及时释放?每个jdbc连接的statement数量有限制?
duzhonghua 2008-06-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zidasine 的回复:]
引用 1 楼 workatjn 的回复:
楼主运气不错,至少找到了重现问题的方法。我也不是很懂,瞎猜一下,应当是有地方没释放链接,想办法跟踪链接的使用情况看看。

帮顶
[/Quote]

顶........
zidasine 2008-06-13
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 workatjn 的回复:]
楼主运气不错,至少找到了重现问题的方法。我也不是很懂,瞎猜一下,应当是有地方没释放链接,想办法跟踪链接的使用情况看看。
[/Quote]
帮顶
workatjn 2008-06-13
  • 打赏
  • 举报
回复
楼主运气不错,至少找到了重现问题的方法。我也不是很懂,瞎猜一下,应当是有地方没释放链接,想办法跟踪链接的使用情况看看。

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧