2017-11-11 81 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

相关问题