Java MySQL不一致数据检索
当我从数据库检索数据时,我遇到了不一致结果的问题。以下是两种情况: 1) 有时它输出完整的预期行,有时它不完整。例如,数据库中实际上有5行,但有时从我的系统的搜索功能中检索到这5行,它只有3行,有时返回完整的5行。它将在一段时间内返回完整的5行,但一段时间后,它将只返回3行。触发此检索的搜索按钮在第一次搜索后的几毫秒内单击。这似乎是随机发生的。我在我的系统上使用相同的搜索功能 2) 有时检索到的数据具有刚刚保存的新值,有时具有旧值。同样,这似乎是随机发生的 这和缓存有关吗?有时从缓存中获取,但有时从实际数据库获取?还是安装了mysql连接器 这是安装在tomcat服务器上的GWT开发的系统。tomcat服务器是使用bitnami堆栈tomcat安装程序安装的 以下是context.xml文件:Java MySQL不一致数据检索,java,mysql,tomcat,gwt,Java,Mysql,Tomcat,Gwt,当我从数据库检索数据时,我遇到了不一致结果的问题。以下是两种情况: 1) 有时它输出完整的预期行,有时它不完整。例如,数据库中实际上有5行,但有时从我的系统的搜索功能中检索到这5行,它只有3行,有时返回完整的5行。它将在一段时间内返回完整的5行,但一段时间后,它将只返回3行。触发此检索的搜索按钮在第一次搜索后的几毫秒内单击。这似乎是随机发生的。我在我的系统上使用相同的搜索功能 2) 有时检索到的数据具有刚刚保存的新值,有时具有旧值。同样,这似乎是随机发生的 这和缓存有关吗?有时从缓存中获取,但有
<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"/>
有人知道是什么导致了数据检索中的这种不一致吗?我已经花了好几天的时间调试这个,但仍然无法找出问题所在
提前谢谢 尝试将这些字段添加到您的上下文文件cachingAllowed=“false”和cacheTTL=“1000”。这可能是由于旧的过时数据库连接尚未关闭造成的吗?