У меня есть соединение JDBC MySQL в Java. Моя программа отлично работает для простого выполнения запроса.
Если я запускаю ту же программу более 10 часов и выполняю запрос, то получаю следующее исключение MySQL:
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:
Connection.close() has already been called. Invalid operation in
this state.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(
Native Method)
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:
No operations allowed after statement closed.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(
Native Method)
Я не использовал метод close()
в любом месте. Я создал соединение с базой данных и открыл его навсегда и всегда выполнял запрос. Нет места, где я явно указывал таймаут для подключения. Я не могу определить проблему.
Вот код, который я использую для подключения к базе данных:
String driver = PropertyReader.getDriver();
String url = dbURLPath;
Class.forName(driver);
connectToServerDB = DriverManager.getConnection(url);
connectToServerDB.setAutoCommit(false);
Что вызывает это исключение?