我在Struts 2中有一个应用程序,它连接到MySQL数据库&我正在使用DBConnectionBroker
进行数据库合并 -
在插入操作后执行select时,我遇到了如下的奇怪问题 -
我插入&选择表格中的记录(在主键ID上)&收到成功消息, 但是在执行刷新之前不会显示结果。
当我成功更新记录时,不会反映当前的更改,而是显示之前的值。
多次刷新每次都会显示不同的值(即旧的和新的更改)
以下是DBConnectionBroker
创建的logs.log文件详细信息:
=============================================== ================================ 启动DbConnectionBroker版本1.0.13:
dbDriver = com.mysql.jdbc.Driver
dbServer = jdbc:mysql:// localhost:3306 / dev01?profileSQL = true
dbLogin = esmdev
log file = c:\ DBlogs.log
minconnections = 1
maxconnections = 20
总刷新间隔= 1.0天
logAppend = false
maxCheckoutSeconds = 60
debugLevel = 2
Wed 8月21日20:45:51 IST 2013开放连接0 com.mysql.jdbc.JDBC4Connection@1ff5c98:
Wed Aug 21 20:45:52 IST 2013开放连接1 com.mysql.jdbc.JDBC4Connection@a6e0a9:
- - - - >连接筋疲力尽!将等待并在循环1中重试
=============================================== =================================
通过在我的dburl上设置profileSQL = true进行初始调试/分析,在我的eclipse ide控制台中显示以下日志
=============================================== ================================ 持续时间:1毫秒, connection-id:29 ,statement-id:14,resultset-id:16
持续时间:2毫秒, connection-id:28 ,statement-id:15,resultset-id:17
=============================================== ================================
我发现这里有趣的部分是连接ID - 对于相同的查询,我可以看到两个不同的ID(最小连接为1)但结果集不同。
当我在调试模式下启动tomcat时,我也发现了一件事。设置一个断点 观察它上面的一些物体会导致一些延迟/减慢执行速度。只显示一个connect-id&由于延迟,一切似乎都很好。
我很困惑为什么在我释放连接的情况下创建了一个新连接 执行查询后。