以编程方式检查服务器在Java中的可达性

问题描述 投票:1回答:2

在我的应用程序体系结构中,我有两个数据库服务器为主数据库服务器和辅助数据库服务器(Replica服务器)。

在我的Java代码中,我正在与数据库建立连接以获取一些数据,现在我想要的是在代码中提供两个数据库服务器的IP地址,并检查可访问的数据库服务器并仅与之连接。但是我没有得到实现的一种方法,一种方法是尝试telnet,但不是一个好的选择,因为出于某些原因,我想在应用程序服务器上禁用telnet。

还有其他最佳方法吗?

java database database-connection
2个回答
4
投票

个人,我只是尝试连接(使用标准数据库类)并在连接失败时处理异常。

即使您最初确认了连接性,也无法阻止该测试与您实际尝试使用数据库之间发生网络问题。


2
投票

您可以尝试对两个主机执行ping操作,然后使用可以响应的主机。这是一个示例程序。

        InetAddress address = InetAddress.getByName("172.16.2.0");

        // Try to reach the specified address within the timeout
        // periode. If during this periode the address cannot be
        // reach then the method returns false.
        boolean reachable = address.isReachable(10000);

        System.out.println("Is host reachable? " + reachable);

有关更详细的程序,请参见Java Ping program example

© www.soinside.com 2019 - 2024. All rights reserved.