2013-07-15 98 views
0

我有一個在文件數據庫上使用JPA的Java應用程序。檢查應用程序是否已在運行

我只想運行一個應用程序的一個實例(請注意,數據庫被鎖定到應用程序的第一個實例)。

如何檢查我的數據庫是否被鎖定,並向用戶顯示一條消息?

+0

當應用程序開始掛鉤到數據庫時,您可以創建.lock文件,並在應用程序停止後刪除該.lock文件。如果應用程序的另一個實例運行,並且它看到.lock文件已經存在,則顯示消息。 – sanbhat

+0

如果啓動第二個實例,是否會拋出SQLException指示數據庫已被鎖定?如果是這樣,只要捕獲該異常並向用戶顯示更有意義的異常就足夠了嗎? – DaveH

+0

@sanbhat,我一直在尋找這個選擇,但我聽到它不完全。 –

回答

0

Telnet你的數據庫的IP和端口號。

0

Eclipse用.lock文件解決這個問題。其他解決方案可以是:嘗試使用一個端口:綁定到端口12345.如果你可以比你只有一個國王的山丘,如果你不能,比其他人正在使用該山丘。任何其他應用程序可以

.lock文件也有許多缺點。

而最後一個也是最好的解決方案是:通過JNI在OS級執行平臺,但需要很多工作並且也有缺點。

相關問題