java – 在mysql上关闭连接后不允许任何操作
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 在mysql上关闭连接后不允许任何操作,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1884字,纯文字阅读大概需要3分钟。
内容图文
我为我的网站改变了主机公司,我在其中使用了mySQL数据库.
我不时会收到此错误:
No operations allowed after connection closed.
我记得第一次在旧服务器上运行我的网站时遇到了同样的问题,我用“配置修复”修复了问题而不是“代码修复”,但我不记得我做了什么:(
我在这里阅读了mant帖子,但每次都谈到代码修复,我不认为这是我的情况
有人能帮我吗?
谢谢
编辑
我在旧的context.xml文件中找到了这个;可能这是我解决问题的方法
validationQuery="SELECT 1"
testOnBorrow="true"
testOnBorrow:(boolean)指示在从池中借用对象之前是否验证对象.如果对象无法验证,它将从池中删除,我们将尝试借用另一个.注 – 要使true值生效,必须将validationQuery参数设置为非空字符串.默认值为false
validationQuery:(String)在将它们返回给调用者之前,将用于验证来自此池的连接的SQL查询.如果指定,此查询不必返回任何数据,它只是不能抛出SQLException.默认值为null.示例值为SELECT 1(mysql),从双(oracle)中选择1,SELECT 1(MS Sql Server)
有人可以证实吗?
解决方法:
您可以在JDBC连接URL中使用autoReconnect = true参数:(例如:“jdbc:mysql:// localhost:3306 / my-db?autoReconnect = true”).
但请注意,如果您的应用程序无法正确处理SQLExceptions,这可能会导致问题.
从MySql文档:
autoReconnect
Should the driver try to re-establish stale and/or dead connections? If > enabled the driver will throw an exception for a queries issued on a stale or dead connection, which belong to the current transaction, but will attempt reconnect before the next query issued on the connection in a new transaction. The use of this feature is not recommended, because it has side effects related to session state and data consistency when applications don’t handle SQLExceptions properly, and is only designed to be used when you are unable to configure your application to handle SQLExceptions resulting from dead and stale connections properly. Alternatively, as a last option, investigate setting the MySQL server variable “wait_timeout” to a high value, rather than the default of 8 hours.
内容总结
以上是互联网集市为您收集整理的java – 在mysql上关闭连接后不允许任何操作全部内容,希望文章能够帮你解决java – 在mysql上关闭连接后不允许任何操作所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。