Как использовать полное имя хоста для свойства "java.naming.provider.url" в параметре "env", переданном в (Java EE) класс InitialContext. Независимо от того, передам ли я IP-адрес или полное имя хоста (host.domain ...), вызов lookup (name) завершится неудачно, сказав, что не может найти имя хоста, где hostname - это просто «базовое имя» хост без своего домена. Например. - скажем, что mypc.somedomain.net - это 1.2.3.4, при вводе «1.2.3.4» или «mypc.somedomain.net» произойдет сбой, например:
javax.naming.CommunicationException
java.rmi.UnknownHostException: mypc
Нужно ли передавать DNS-сервер в InitialContext? Что такого умного, чтобы позволить основной операционной системе делать свою работу? (как в "ping mypc.somedomain.net", который просто работает)
Клиент и сервер не находятся ни на одной машине, ни в одной подсети, поэтому мне нужно использовать полное имя хоста. Чтобы немного уточнить это для «Робина», мы обычно запускаем клиентский процесс в отдельной JVM, которая обычно подключается к серверу на локальном хосте, или иногда на другом хосте в той же подсети / домене (например, «testbox»), который не требует полное имя.
Кроме того, я попытался добавить префикс «jns: //» и суффикс «: 1099» (например, «jns: //mypc.somedomain.net: 1099»), но это не было необходимо для создания «testbox» работать, и получил то же исключение.
Я погуглил и нашел несколько случаев этой ошибки (InitialContext / JBoss -> UnknownHostException) или аналогичного вопроса, но ответов нет. Уч.