java - 客户看不到新记录

标签 java mysql percona

我在网络上运行我的java应用程序的两个客户端时遇到问题,第一个客户端插入一条记录,第二个客户端在刷新结果集时可以看到它,现在当第二个客户端插入新记录时,第一个客户端看不到该记录即使刷新后也可以记录,当第一个客户端关闭应用程序并重新运行它时,第二个客户端的记录显示正常!所以发生了什么事 ?我如何监控它们以追踪我的问题?注意:在 COMMIT 之后将 AutoCommit 设置为 true 时,一切都会正常工作。我需要在 my.cnf 上进行任何额外配置吗?

最佳答案

第一个客户端永远不会提交其事务,即使它只读取(选择)它也会保持连接和事务打开,因此在刷新时它将处于“旧事务状态”。确保客户端获得一个新的结果集(不仅仅是刷新它)或者更简单 - 只需将 AutoCommit 设置为 true 即可,您所说的有效。

编辑:删除了我现在认为错误的第一个答案。 (我说第二个客户没有提交,我有点误读了这个问题。)

关于java - 客户看不到新记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10456957/

相关文章:

java - 使 MySQL 连接器重用 SSLSessionContextImpl

java - 如何将文件中所有使用的 ASCII 字符放入字典/数组/列表中并为每个字符分配一个值?

mysql 复制 5.5 master 到 5.7 slave

linux - 阻止 fedora 安装 mariadb

mysql - 为什么 percona xtrabackup 这么慢又大

java - 使用 Application 子类时,Swagger 不显示 Jersey 的 @Api 注释

java - BASE64Encoder 结果从 Windows 到 Unix 不同

mysql - 在最高整数后添加新行

php - 显示来自数据库的 DD/MM/YYYY PHP 回显

mysql - ClearDB 与 'npm run start' 连接,但不与 Heroku 部署连接; ERR_CONNECTION_REFUSED