Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我的代码似乎效率低下,引发了jdbc异常_Java_Database_Parsing_Jsoup - Fatal编程技术网

Java 我的代码似乎效率低下,引发了jdbc异常

Java 我的代码似乎效率低下,引发了jdbc异常,java,database,parsing,jsoup,Java,Database,Parsing,Jsoup,我正在解析HTML文件中的数据并将其写入数据库。 它一直工作到10分钟前,当运行java工作流时突然出现越来越多的异常。我已经试过了:set@@global.max_connections=1250以下是一个错误示例: Jul 21, 2014 4:22:58 PM org.jsoup.examples.Database OpenConnectionDB SEVERE: null com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectio

我正在解析HTML文件中的数据并将其写入数据库。 它一直工作到10分钟前,当运行java工作流时突然出现越来越多的异常。我已经试过了:
set@@global.max_connections=1250以下是一个错误示例:

Jul 21, 2014 4:22:58 PM org.jsoup.examples.Database OpenConnectionDB
SEVERE: null
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Data source rejected establishment of connection,  message from server: "Too many connections"
    at sun.reflect.GeneratedConstructorAccessor9.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:408)
    at com.mysql.jdbc.Util.getInstance(Util.java:383)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1023)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:997)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:983)
    at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1112)
    at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2508)
    at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2541)
    at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2323)
    at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:832)
    at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:46)
    at sun.reflect.GeneratedConstructorAccessor5.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:408)
    at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:417)
    at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:344)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at org.jsoup.examples.Database.OpenConnectionDB(Database.java:34)
    at org.jsoup.examples.Database.insert(Database.java:67)
    at org.jsoup.examples.parseEasy.getData(parseEasy.java:61)
    at org.jsoup.examples.parseEasy.main(parseEasy.java:30)

您没有关闭与数据库的连接。一个原因是您创建了两个
数据库的实例。
main()
中的一个已关闭,但
getData()
中的第二个未关闭

请注意,您应该在
finally
块中关闭数据库,以确保即使出现异常也关闭连接

重用数据库连接更改的步骤

parseIt.getData();


连接太多。为什么要在
getData()
中创建新数据库?我对编程很陌生。我想我不能从静态上下文中引用它?嗯,有什么办法解决吗?谢谢你们,这对我来说很有意义。谢谢,我会试试的!对不起,关于这两个例子有一个问题:有没有办法只使用一个?如果我尝试使用connect(以前调用的数据库实例),我会收到“对非静态的静态引用…”错误。为什么不将实例作为参数从
main()
传递到
getData()
?您能给我一个简短的示例吗?正如我所说的,我对这一点还不熟悉,而例子让我学得最好。到目前为止你帮了大忙。它现在运行得很慢,但longerSee我编辑了如何将局部变量传递给方法。
parseIt.getData();
parseIt.getData(connect);
public void getData() throws IOException 
public void getData(Database c) throws IOException