Я работаю над приложением Java, которое можно использовать как подключенное к моей офисной сети, так и нет.
Моя проблема в том, что когда пользователь не подключен, DriverManager.getConnection()
требуется до 20 секунд, прежде чем окончательно сообщать, что он не может подключиться к базе данных.
Код, который соединяет меня или нет с сервером:
public static Connection getConnection() {
try{
//cnx is my Connection object
if(cnx ==null || cnx.isClosed()){
Class.forName("com.mysql.jdbc.Driver");
//Get the connection if possible
cnx = DriverManager.getConnection(connectionString, user, password);
}
/*
Basically, I'm just checking if "ConfigUser.isConnected()" is true
later in the code to know if I should try to execute SQL queries
*/
ConfigUser.setConnected(true);
return cnx;
}
catch (Exception e){
}
ConfigUser.setConnected(false);
return null;
}
Я пытался использовать функцию DriverManager.setLoginTimeout()
, но, похоже, она ничего не изменила.