У меня есть пользователь, у которого постоянно возникает проблема с тем, что вызов DriverManager.getConnection()
часто застревает, но через некоторое время он может работать нормально.
Мой код для открытия соединения с базой данныхis:
String className = JDBC.class.getName();
Class.forName(className);
String connectionString = JDBC.PREFIX + databaseFilePath;
Для всех остальных пользователей это работает нормально. Я не нашел связанных с этим тем, кроме здесь , но это не совсем та же проблема.
Я уже добавил Class.forName(className)
вызов для регистрации драйвера JDBC так как я думал, что это может помочь, но, по-видимому, больше не нужно открывать соединение с базой данных.
Я использую последнюю версию sqlite-jdbc-3.28.0.jar
, предоставленную
<dependency>
<groupId>org.xerial</groupId>
<artifactId>sqlite-jdbc</artifactId>
<version>3.28.0</version>
</dependency>
Я не пробовал другую реализацию базы данных, но попытался установить время ожидания входа в систему с помощью setLoginTimeout(10)
.