【发布时间】:2010-09-06 04:02:28
【问题描述】:
我有一个 tomcat 实例设置,但我在 context.xml 中配置的数据库连接在一段时间不活动后一直死机。
当我检查日志时,我收到以下错误:
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: 从服务器成功接收到的最后一个数据包是68051秒 前。最后一次成功发送到服务器的数据包是 68051 秒 前,比服务器配置的值长 '等待超时'。您应该考虑到期和/或测试 在您的应用程序中使用之前的连接有效性,增加 服务器为客户端超时配置值,或使用连接器/J 连接属性 'autoReconnect=true' 来避免这个问题。
这里是context.xml中的配置:
<Resource name="dataSourceName"
auth="Container"
type="javax.sql.DataSource"
maxActive="100"
maxIdle="30"
maxWait="10000"
username="username"
password="********"
removeAbandoned = "true"
logAbandoned = "true"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://127.0.0.1:3306/databasename?autoReconnect=true&useEncoding=true&characterEncoding=UTF-8" />
我正在使用autoReconnect=true,就像错误所说的那样,但连接不断中断。我以前从未见过这种情况。
我还验证了所有数据库连接都已正确关闭。
【问题讨论】:
标签: java mysql database tomcat