2017-01-13 6 views
0

Я пытаюсь получить IP-адрес от DNS, как это:Как получить хост адрес в Java сервер Tomcat

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

но hostAddr имеет нулевое значение, кажется, что не может найти его. Я делаю это из потока в Java, который выполняется на ServletContextListener в Tomcat Server. Если я делаю это из того же потока, но в обычном Java-приложении, он отлично работает. Целью всего этого является использование адреса в качестве аргумента для NTP Client API.

Я не знаю, если это проблема Tomcat, некоторые конфигурации или любой другой ошибки

Я надеюсь, что вы можете мне помочь, благодаря

+0

Несомненно, это исключает исключение, а не возвращает null? – EJP

ответ

0

Согласно inetAddress#getByNamedocs, статический метод getByName Безразлично 't вернуть null, если метод не выдает одно из двух исключений UnknownHostException или SecurityException.

Ваш код в ServletContextListener, похоже, проглатывает исключение. Вам нужно отладить этот код и выяснить, какое исключение из этих двух выбрано вызовом getByName. После определения типа исключения вы можете предпринять соответствующие действия для исправления ошибки, сообщаемой этим исключением. Например. если исключение составляет UnknownHostException, вы можете проверить аргумент имени узла, который вы передаете методу.