zoukankan      html  css  js  c++  java
  • 云服务器项目数据库连接超时问题解决

    具体情况是这样,我在自己的云服务器部署了一个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();
  • 相关阅读:
    用记事本编写C#程序并运行C#代码
    C#传递参数大集合
    JQuery或JavaScript获取网页的宽度、高等
    mybatis
    mysql 函数
    eclipse sts 常规操作
    谷歌浏览器自动翻译当前网页
    推荐Calendar操作日期
    IDEA 快捷键
    eclipse sts 快捷键
  • 原文地址:https://www.cnblogs.com/liuleliu/p/12687689.html
Copyright © 2011-2022 走看看