我在网络上运行我的java应用程序的两个客户端时遇到问题,第一个客户端插入一条记录,第二个客户端在刷新结果集时可以看到它,现在当第二个客户端插入新记录时,第一个客户端看不到该记录即使刷新后也可以记录,当第一个客户端关闭应用程序并重新运行它时,第二个客户端的记录显示正常!所以发生了什么事 ?我如何监控它们以追踪我的问题?注意:在 COMMIT 之后将 AutoCommit 设置为 true 时,一切都会正常工作。我需要在 my.cnf 上进行任何额外配置吗?
最佳答案
第一个客户端永远不会提交其事务,即使它只读取(选择)它也会保持连接和事务打开,因此在刷新时它将处于“旧事务状态”。确保客户端获得一个新的结果集(不仅仅是刷新它)或者更简单 - 只需将 AutoCommit 设置为 true 即可,您所说的有效。
编辑:删除了我现在认为错误的第一个答案。 (我说第二个客户没有提交,我有点误读了这个问题。)
关于java - 客户看不到新记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10456957/