2017-11-11 78 views
1

我只是覺得這個代碼,我用它來檢查,如果MySQL服務器每十其次...通過調用運行後,這種方法的Java如何檢查如果MySQL正在運行

public static boolean hostAvailabilityCheck(String address, int port) { 
try (Socket s = new Socket(address, port)) { 
     return true; 
    } catch (IOException ex) { 
     /* ignore */ 
    } 
    return false; 
} 

所以做我這樣做是正確或者還有其他更好的方法來檢查MYSQL是否仍然在運行一段時間後運行?請幫幫我。

+1

請這有給檢查MySQL正在運行[點擊這裏](https://stackoverflow.com/questions/3472805/how-can-i-check方式-if-mysql-and-tomcat-are-running) –

+0

使用套接字只會驗證指定端口上正在運行的內容,這可能不是MySQL。 –

回答

0

該端口可以是沒有任何應用程序聽它打開。如果你還想看到你的mySQL應用程序正在偵聽端口,請爲JAVA獲取mySQL連接器,並查看如何建立連接 - 使用用戶名和密碼。

+0

這樣就意味着如果MYSQL端口被打開運行? –

+0

否:)使用mysql驅動程序爲java創建與mysql的連接。只需谷歌它,它是第一件事彈出。還有它的文檔。 –

0

而不是做這個的,我認爲這是一個更好的方法來使用Hibernate或者其他ORM功能爲創建數據源和連接池,因爲沒有它,你將不得不面對與資源管理自己。

檢查這個link,對於如何創建和使用會話和相關連接的例子。

Hibernate的使用C3P0處理數據源創建和連接,可以配置使用性質的所有參數,這將處理重新連接,爲你保持連接如游泳池可供使用。此外,它可以驗證與確認查詢連接

+0

只是說,使用ORM創建針對MySQL的會話似乎矯枉過正我:)你仍然需要MySQL的驅動程序(這可能是包含在ORM你所提到的) –

+1

@PeterMajko的確,但我張貼此作爲答案也指c3p0,你可以手工完成這些工作,但如果應用程序是數據庫密集型的,並且使用orm作爲合適選項的CRUD行爲,那麼我們不知道應用程序的確切行爲,因爲它允許他開發速度更快,而無需處理連接本人。他總是可以使用普通的JDBC和MySQL驅動程序 – karelss

相關問題