Тестирование соединения с БД MySQL, когда 2 порта на одном сервере для разных БД открыты, а при подключении указан неправильный порт - PullRequest
0 голосов
/ 15 мая 2019

Сценарий использования: тестирование соединения RDBMS с использованием Java JDBC.

Сценарий: На сервере 'A' открыто 2 порта, скажем,

  • 3306для MySQL DB

  • 27017 для Mongo DB

.

Для проверки соединения, когда детали MySQLесли задано правильно, за исключением порта как '27017', соединение не происходит, и оно собирается бесконечный цикл вроде вещи.

Попробовал ниже варианты:

?useSSL=false&connectTimeout=3
DriverManager.setLoginTimeout(3);
public boolean validateRdbmsConnection(String driverClassName, String url, 

String userName, String userPswrd) {
    if (StringUtils.isNoneBlank(driverClassName, url, userName, userPswrd)) {
        try {
            Class.forName(driverClassName);
            try (Connection conn = DriverManager.getConnection(url, 

userName, userPswrd)) {
                if (conn != null) {
                    DatabaseMetaData dm = conn.getMetaData();
                    System.out.printf("\nDatabase Metadata 
                    information:\n\tDriver name: %s\n\tDriver version: %s\n\tProduct name: 
                    %s\n\tProduct version: %s", dm.getDriverName(), dm.getDriverVersion(), 
                     dm.getDatabaseProductName(), dm.getDatabaseProductVersion());
                    System.out.println("Inside ConnectionServiceImpl.validateRdbmsConnection()... END");
                    return true;
                }
            }
        } catch (ClassNotFoundException | SQLException ex) {
            System.out.printf("Database Connection is NOT SUCCESSFUL. Exception occurred while trying to connect to the specified Database. Exception: %s", ex.getMessage());
        }
    }
    return false;
}

Ожидается: исключение типа «Тайм-аут соединения» или «Нет базы данных».

Факт: попытка установить соединение, переход в бесконечный цикл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...