首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >BoneCP连接超时

BoneCP连接超时
EN

Stack Overflow用户
提问于 2013-06-09 21:49:46
回答 1查看 6.6K关注 0票数 0

我正在将Hibernate 4与BoneCP集成起来,并希望了解这些属性意味着什么:

代码语言:javascript
复制
<property name="idleConnectionTestPeriod">30</property>
<property name="idleMaxAge">240</property>
<property name="connectionTestStatement">select 1 from db.table limit 1</property>

我的应用程序需要保持与mysqldb 24x7的常量连接。

这是否意味着每30分钟就会执行一次测试语句?240分钟后,这种联系就会变得陈旧吗?如何使我的连接永久化,因为在这种配置中,我有时会得到

代码语言:javascript
复制
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operations allowed after connection closed.
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-10 03:15:41

正如BoneCP编写这里的作者所写的那样,有两种管理连接状态的方法--使用和设置maxConnectionAgeInSeconds的方式。

重要注意事项--不要忘记MySQL配置,比如wait_timeout。它以秒为单位,必须大于maxConnectionAgeInSeconds。您可以在MySQL目录中的my.ini文件中更改此参数。

例如,我的当前配置:

wait_timeout=3600 (MySQL参数);

maxConnectionAgeInSeconds=3000 (BoneCP参数)

另外,我在wait_timeout中设置了相同的wait_timeout变量。我不确定这是否有意义,但我看到了MySQL需要min(interactive_timeout,wait_timeout)的某个地方。实际上,interactive_timeout是交互式客户机的超时--当您使用MySQL命令行时,您就是交互式客户端。无论如何,最好让它们相等--即使这个参数也没有意义--就像保险一样。

在设置变量之前,不要忘记关闭mysql (cmd->net )。设置新值后,使用show variables like '%timeout%';在命令行中检查它们

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17014517

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档