Закрытие соединения JDB C при выходе из системы предотвращает следующий вход - PullRequest
0 голосов
/ 14 января 2020

У меня есть приложение java (использующее jsp), которое подключается к серверу SQL для аутентификации в пользовательской таблице (позже будет LDAP). При выходе я звоню:

SARConnection.getInstance().getSARConnection().close();

Однако, когда я go для повторного входа в систему, я получаю сообщение об ошибке:

The connection is closed.

Есть ли способ, которым я могу очистить соединение, как я полагаю, приложение сохранило соединение, даже если оно закрыто, что не позволяет мне создать новое.

Метод подключения следующий и вызывается при входе в систему:

public Connection newSARConnection() {
        Connection connect = null;
        try {
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
            connect = DriverManager.getConnection(conURL, conUser, conPassword);
        }
        catch (ClassNotFoundException ex) {
            System.err.println("SQLException: " + ex.getMessage());
            System.err.println(ex);
        }
        catch (SQLException ex) {
            System.err.println("SQLException: " + ex.getMessage());
            System.err.println("SQLState: " + ex.getSQLState());
            System.err.println("VendorError: " + ex.getErrorCode());
            System.err.println("Driver loaded, but cannot connect to db: " + conURL);
        }
        catch (Exception ex) {
            System.err.println("Check classpath. Cannot load db driver: " + "com.microsoft.sqlserver.jdbc.SQLServerDriver");
        }

        mycon = connect;
        return connect;
    } 

    public Connection getSARConnection() {
        return mycon;
    }

Спасибо.

...