我写了一个Database的类,是用来调用数据库的,里面的方法使用static进行定义,并且定义了一个getResult(sql)的方法,然后我在jsp页面直接用rs = Database.getResult(sql)进行数据读取,现在问题是,如果数据量少的时候就很正常,但当有多个并发(就是多个人同时读取)时,就经常返回ResultSet closed 大概的提示,尤其在一些b/s系统上明显,我想问一下各位高手,这个问题有没有好的方法解决啊?感谢!!
调试欢乐多
并发的时候是有问题的,你共用了一个ResultSet
所以会有异常
考虑一下ThreadLocal吧
方案二:getResult(sql)前面加synchronized关键字,这样可以保证同时只能单线程调用。
不过对性能影响很大,特别是前一个用户在进行时间很长的操作时,第二个就只能等。