【问题标题】:How to get host adress in java tomcat server如何在java tomcat服务器中获取主机地址
【发布时间】:2017-05-28 07:06:17
【问题描述】:

我正在尝试像这样从 DNS 获取 IP 地址:

InetAddress hostAddr = InetAddress.getByName("somentp.server.com");

但 hostAddr 为空, 好像找不到。 我从 Java 中的一个线程执行此操作,该线程在 Tomcat 服务器中的 ServletContextListener 上执行。 如果我从同一个线程但在普通的 Java 应用程序中执行此操作,它工作得非常好。 这一切的目标是使用地址作为NTP Client API 的参数。

不知道是Tomcat的问题,还是配置的问题,还是其他的bug

我希望你能帮助我, 谢谢

【问题讨论】:

  • 肯定是抛出异常而不是返回null?

标签: java server tomcat7 ip-address


【解决方案1】:

根据inetAddress#getByNamedocs,静态方法getByName 不会返回空值,除非该方法抛出UnknownHostExceptionSecurityException 的两个异常之一。

ServletContextListener 中的代码似乎正在吞噬异常。您需要调试该代码并找出上述两个异常中的哪个异常是由对 getByName 的调用引发的。确定异常类型后,您可以采取适当的措施来纠正该异常报告的错误。例如。如果异常是 UnknownHostException,您可能需要检查您传递给该方法的主机名参数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-30
    • 1970-01-01
    • 2013-03-27
    相关资源
    最近更新 更多