Проверьте, не связана ли программа с localhost (в JDBC)? - PullRequest
0 голосов
/ 09 ноября 2018

Я создал соединение с localhost, используя JDBC. Там все хорошо, но что если я захочу узнать, есть ли еще соединение? Мой код:

class Connection_maker
{
  private Connection conn;
  private static final String DESTINATION = "jdbc:mysql://localhost/";
  public Connection_maker()
  {
     try
     {
        Class.forName("com.mysql.jdbc.Driver");
        this. conn = java.sql.DriverManager.getConnection(DESTINATION, "root", "");
        System.out.println("connected");
     } 
     catch (Exception e)
     {
        e.printStackTrace();
     }
   }
   public static void main(String[] args)
   {
       new Connection_maker();
   }
}

Я пытался использовать java.util.Timer для планирования TimerTask каждую 1 минуту, но мне нужно создать другое соединение, и я думаю, что это неэффективный способ. Я попытался com.mysql.jdbc.exceptions.jdbc4.CommunicationsException в блоке catch, но он не работает.

Есть ли способ узнать, есть ли еще соединение?

1 Ответ

0 голосов
/ 09 ноября 2018

Используйте соединение для выполнения запроса «выберите 1». Это очень легкий.

bool isAlive(){
   try{
      String query = "SELECT 1";
      Statement st = this.conn.createStatement(ue);
      ResultSet rs = st.executeQuery(query);
      return true;
   }catch(SQLException e){
      // honestly kind of non-specific ??
      return false;
   }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...