当我从数据库中检索数据时,我遇到了不一致结果的问题。这是两种情况:
1)有时它输出完整的预期行,有时它不完整。例如,数据库中确实有5行,但有时从我的系统的搜索功能中检索到它,它只有3行,有时它会返回完整的5行。它将返回完整的5行一段时间,但过了一会儿,它将只返回3.触发此检索的搜索按钮在第一次搜索后的几毫秒被点击。这似乎是随机发生的。我在我的系统上使用相同的搜索功能。
2)有时,检索到的数据只保存了新值,有时它具有旧值。再次,这似乎是随机发生的。
这与缓存有关吗?有时它从缓存中获取但有时它来自实际的数据库?或者是安装了mysql-connector?
这是一个安装在tomcat服务器上的GWT开发系统。使用bitnami stack tomcat安装程序安装tomcat服务器。
以下是context.xml:
<Resource name="MYSQLDB"
factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
auth="Container"
type="javax.sql.DataSource"
maxActive="500" maxIdle="30" maxWait="60000"
username="f1db" password="systema01"
driverClassName="com.mysql.jdbc.Driver"
poolPreparedStatements="true"
maxOpenPreparedStatements="20"
validationQuery="SELECT 1"
testOnBorrow="true"
removeAbandoned="true"
removeAbandonedTimeout="60"
logAbandoned="true"
url="jdbc:mysql://localhost:3306/f1db?autoReconnect=true"/>
有谁知道导致数据检索不一致的原因是什么?我已经花了好几天调试这个,但仍然无法弄清楚出了什么问题。
提前致谢。