阅读 139

服务器项目数据库连接超时问题解决

服务器项目数据库连接超时问题解决

标签:设置   nts   云服务   class   rom   lec   

具体情况是这样,我在自己的云服务器部署了一个javaweb项目,该项目主要功能就是对数据库的数据进行展示,但是每次刚发布后都能正常运行,而到了第二天再去访问这个项目就连接不上数据库了,查了资料才知道原来mysql的连接会默认在8小时无操作后被销毁,查解决办法,网上很多帖子都说吧那个默认销毁时长改为一年就行了,但这种方法肯定是会影响服务器运行速度的,对此我自己是通过开辟一个线程解决的,如果这个解决方法会有什么隐患也希望路过的大佬可以指点一下。

具体做法:

在工具类和数据库创建连接后,开辟一个新线程,每隔一段时间访问一下数据库但又不进行其他操作,总而言之就是是使得对数据库的无操作时间不超过8小时,代码如下:

final long timeInterval = 1000*60*4;//设置执行周期为4小时
    Runnable runnable = new Runnable() {        public void run() {            while (true) {
               Statement statement;            try {
                statement = conn.createStatement();//conn为数据库连接            
               //要执行的SQL语句
            String sql = "select  * from info limit 1";
          
                statement.executeQuery(sql);
                 
            } catch (SQLException e1) {
                
                e1.printStackTrace();
            }                
                try {
                    Thread.sleep(timeInterval);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }
    };
    Thread thread = new Thread(runnable);
    thread.start();

 

云服务器项目数据库连接超时问题解决

标签:设置   nts   云服务   class   rom   lec   

原文:https://www.cnblogs.com/liuleliu/p/12687689.html


文章分类
后端
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐