我试图从DNS获取IP地址,如下所示:
InetAddress hostAddr = InetAddress.getByName("somentp.server.com");
但是hostAddr为null, 它似乎无法找到它。 我是从Java中的一个线程执行此操作的,该线程在Tomcat Server中的ServletContextListener上执行。 如果我从同一个线程但在普通的Java应用程序中执行此操作,它的工作完全正常。 所有这一切的目标是使用地址作为NTP Client API的参数。
我不知道这是Tomcat,某些配置或任何其他错误的问题
我希望你能帮助我, 感谢
答案 0 :(得分:0)
根据inetAddress#getByName
docs,静态方法getByName
不返回null,除非该方法抛出两个异常中的一个UnknownHostException
或{{1} }。
SecurityException
中的代码似乎吞噬了异常。您需要调试该代码,并通过调用getByName找出上述两个异常中的哪个异常。确定异常类型后,可以采取适当的操作来更正该异常报告的错误。例如。如果异常是ServletContextListener
,您可能需要检查要传递给方法的主机名参数。