Тайм-аут Java JDBC - PullRequest
       3

Тайм-аут Java JDBC

0 голосов
/ 23 июня 2018

Я пытаюсь подключиться к своей базе данных с помощью класса Singelton в Java.Это мой текущий код:

public class Database {

public static Database instance;

private Connection connection;

private Database() {
    try {
        Class.forName("com.mysql.jdbc.Driver");
        Log.debug("ok");
        this.connection = DriverManager.getConnection("jdbc:mysql://just.not.for.you:3006/database?connectTimeout=5000", "database", "secret");
        Log.debug("ok");
    } catch (ClassNotFoundException e) {
        Log.warn("Cloud not find jdbc driver class");
    } catch (SQLException e) {
        Log.warn("Cloud not connect to database: " + e.getMessage(), e);
    }
}


public static synchronized Database getInstance() {
    if(Database.instance == null) {
        Database.instance = new Database();
    }
    return Database.instance;
}

В моем основном классе я звоню Database.getInstance(), но ничего не происходит.Нет ошибки, нет сообщения о тайм-ауте.Это похоже на бесконечный цикл.Я вижу первое сообщение отладки в строке 10, но не сообщение в строке 12.

В чем проблема?

Изменить: Я могу подключиться к удаленной базе данных смой локальный компьютер с MySQL верстаком

1 Ответ

0 голосов
/ 23 июня 2018

Я нашел проблему в вашем коде!

  • Замените com.mysql.jdbc.Driver новым драйвером com.mysql.cj.jdbc.Driver, поскольку он устарел
  • Извлечь порт сервера MySQL, порт по умолчанию 3306, а не 3006
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...