我有一个 Swing 应用程序,它使用来自外部 mysql 数据库的一些数据。
我希望这些数据是最新的,所以我有一个线程每 10 秒检查一次是否有新数据可用。
这是我的代码:
public void run() { maj.getIgor().open(); // open the connection to Mysql while (true) { try {
if (maj.getIgor().getConnexion().isValid(2)) {
maj.checkProduits(); // update the datas
} else {
maj.getIgor().close();
maj.getIgor().open();
System.out.println("Re-try to open connection");
}
ThreadIgor.sleep(10000);
} catch (SQLException ex) {
Logger.getLogger(ThreadMajProduits.class.getName()).log(Level.SEVERE, null, ex);
} catch (InterruptedException ex) {
try {
Thread.currentThread().interrupt();
maj.getIgor().close();
} catch (SQLException ex1) {
Logger.getLogger(ThreadMajProduits.class.getName()).log(Level.SEVERE, null, ex1);
}
break;
}
}
}
我想知道这是否是做我想做的事情的正确方法,如果没有风险,这个线程会通过尝试连接到数据库来阻止我的应用程序?
谢谢