做了个东西,可是每天早上来就不能用了,必须重启tomcat。tomcat提示跟数据库连接有关系。
开始自己偷懒,用crontab每隔7个小时就重启一下tomcat。但是还是心里觉得不安。
后来问了一下牛人,问题如下:
This is a problem with your MySQL configuration that closes automatically connections after a certain timeout. You should disable that timeout to prevent this problem. You can also try the autoreconnect feature of the MySQL driver to transparently reconnect (but that might not be safe with transactions).
解决办法有两个:
第一个办法是修改 MySQL 的配置参数。这个参数的名称是 wait_timeout,其默认值为 28800(单位秒),刚好就是 8 小时。其意义为关闭一个连接之前在这个连接上等到行动的秒数,也就是说,如果一个连接闲置超过这个选项所设置的秒数,MySQL 会主动断开这个连接。但是实践表明,没有办法把这个值设置成无限大,即永久。
第二个办法是如下修改 JDBC 连接的 URL:
jdbc:mysql://hostaddress:3306/schemaname?autoReconnect=true
实践证明,第二个办法是可行滴,嘿嘿。