2010-10-28 34 views
0

我正在使用mysql5和hibernate。我在tomcat應用程序服務器上運行我的應用程序。如果我停止mysqld服務幾秒鐘,我收到異常: java.sql.SQLException:無法連接到任何主機,由於例外:java.net.ConnectException:連接被拒絕:連接 如果我將再次啓動服務,老休眠會話將會丟失。我想聽幾秒鐘的3306端口號來檢查服務是否已啓動。如果沒有,那麼我想通過顯示正確的理由終止我的申請。我在mysql服務關閉時如何處理來自mysql的異常

回答

0

爲什麼不只是捕獲從Java拋出的異常,以防萬一你無法連接。進入3-4秒的循環,每秒檢查連接是否再次可用?在循環中,爲應用程序發出「睡眠」命令,等待1秒鐘,然後再次檢查,如果在3-4秒後根據您的選擇,仍然無法連接顯示錯誤消息。

+0

我會檢查sessionFactory.openSession()是否返回會話或空。如果它將爲空,那麼我應該在應用程序上顯示一條錯誤消息。但我的應用程序GUI在FLEX中。我可以在HibernateUtil類的對話框中顯示這個錯誤嗎? – divi 2010-10-29 09:29:20

0

您可以在SQL端口上打開socket和手柄連接異常