[b]现象如下:[/b]
点击A按钮调用action,然后跳转到新的A.jsp页面,A.jsp页面有四个DIV(如DIV1.DIV2,DIV3,DIV4),每个DIV都是用列表的方式展示数据,并且每个DIV都是一个单独的DWR,先请求后台,后台返回结果,然后才显示数据。
[b]问题如下:[/b]
每次进入A.jsp后,四个DIV中,总有两个DIV(任意两个DIV)中的DWR请求是失败的,根据后台日志显示,是DWR请求的时候,获取数据库连接失败,但是,查看Oracle的连接数和系统的连接池,绝对是够的,后来,实在是没办法,做了如下修改:
[b]修改方法:[/b]
在后台的四个DWR方法中的任意两个方法中,增加如下语句:
//在查询数据库之前,先sleep1秒
[b][color=blue]Thread.sleep(1000);
//经过上面的sleep后,四个dwr请求都是成功的
list = xxx.queryUserInfo();[/color][/b]
通过这样的方式,最终问题是解决了,但总感觉这样不合理
[b][color=red]谁能解释这个现象是什么原因吗?这跟DWR并发请求有关系吗?[/color][/b]
点击A按钮调用action,然后跳转到新的A.jsp页面,A.jsp页面有四个DIV(如DIV1.DIV2,DIV3,DIV4),每个DIV都是用列表的方式展示数据,并且每个DIV都是一个单独的DWR,先请求后台,后台返回结果,然后才显示数据。
[b]问题如下:[/b]
每次进入A.jsp后,四个DIV中,总有两个DIV(任意两个DIV)中的DWR请求是失败的,根据后台日志显示,是DWR请求的时候,获取数据库连接失败,但是,查看Oracle的连接数和系统的连接池,绝对是够的,后来,实在是没办法,做了如下修改:
[b]修改方法:[/b]
在后台的四个DWR方法中的任意两个方法中,增加如下语句:
//在查询数据库之前,先sleep1秒
[b][color=blue]Thread.sleep(1000);
//经过上面的sleep后,四个dwr请求都是成功的
list = xxx.queryUserInfo();[/color][/b]
通过这样的方式,最终问题是解决了,但总感觉这样不合理
[b][color=red]谁能解释这个现象是什么原因吗?这跟DWR并发请求有关系吗?[/color][/b]