MySQL如何处理每秒连接,然后决定阻止连接?

时间:2016-11-28 22:46:36

标签: java mysql sql netbeans

我正在编写一个Java数据库程序,在这个程序中我有一个调用大约6个方法的循环,在每个方法中,与其他连接独立地建立连接,以便返回一个布尔值,while循环运行20次(行数为20),因此(6 * 20 = 120)连接在该循环中进行,问题是,在第14次或第19次迭代后,我从MySQL得到此错误:

Exception in thread "main" java.lang.NullPointerException
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 3 times. Giving up.

此外:at project_2.Reserve.inLarge(Reserve.java:116)

第116行包含:

Statement s = c.createStatement();

其中c是连接类型(即MySQL Java连接类型)。

每个函数都会创建一个名为c的连接及其'自己的声明。

我没有参与MySQL,所以我希望有些人会告诉我这是一种可怕的方式,然后对我大喊大叫......开个玩笑,谢谢你的帮助。

我也尝试添加thread.sleep来推迟一些事情,但它没有用。

1 个答案:

答案 0 :(得分:0)

我发现了问题,就是在get_conn()函数中,我有两次这样的行,所以很明显它在mysql服务器DriverManager.getConnection(conn_str,username,pass);上有点难:

 public static Connection get_conn (){
         Connection conn=null;

        try{
            conn =(Connection) DriverManager.getConnection(conn_str,username,pass);
       conn =(Connection) DriverManager.getConnection(conn_str,username,pass);
    }catch (SQLException e){
            System.out.println(e);
        }


       return conn;
    }