我已经阅读了很多关于 DAO 和会话的问题,但不理解问题。现在我使用这样的东西:核心 DAO(我在核心 DAO 中添加了一些额外的检查)和基于 wicket 框架的 Web 项目的DAO 实现。一般来说,这种模式可以描述为:
1) 每 1 个线程使用 1 个会话;
2) 从不关闭会话;
3)始终在操作后提交事务。
我使用 DDoS 实用程序对其进行了测试,并且此实现工作(每秒 100 个连接)。但是当我增加连接数时,我会有很多关于关闭会话而不是开始事务的异常。我如何理解我应该使用 getCurrentSession() 而不是 openSession() 但是当我使用 getCurrentSession() 在核心 DAO 中修改方法 getSession() 时,我没有修复错误:(。然后我尝试使用 c3p0 和 bonecp。但是那些强大的工具对我没有帮助。也许你可以解释我的错误 :( 除了 DNA 中的错误