Поиск JNDI зависает в примере очереди HornetQ - PullRequest
0 голосов
/ 13 января 2012

Я пытаюсь запустить пример jms / queue HornetQ с удаленным размещением сервера JNDI и HornetQ.

Сервер HornetQ работает на 10.0.10.102. Клиент работает на 10.0.2.62. И сервер, и клиентские машины являются Linux-блоками.

Я настроил файл client-jndi.properties на стороне клиента следующим образом: java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory java.naming.provider.url=jnp://10.0.10.102:1099 java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces

Я настроил параметры JNDI в файле конфигурации hornetq-beans.xml следующим образом:

<bean name="JNDIServer" class="org.jnp.server.Main">
  <property name="namingInfo">
     <inject bean="Naming"/>
  </property>
  <property name="port">1099</property>
  <property name="bindAddress">10.0.10.102</property>
  <property name="rmiPort">1098</property>
  <property name="rmiBindAddress">10.0.10.102</property>
</bean>

Я получаю сообщение об ошибке «Отказано в соединении» или клиент зависает при поиске службы JNDI в зависимости от того, запустил ли я «rmiregistry» на машине с Linux на стороне сервера (10.0.10.102).

Без запуска «rmiregistry» я получаю следующую ошибку на стороне клиента:

 [java] javax.naming.CommunicationException: Could not obtain connection to any of these urls: 10.0.10.102:30199 and discovery failed with error: javax.naming.CommunicationException: Receive timed out [Root exception is java.net.SocketTimeoutException: Receive timed out] [Root exception is javax.naming.CommunicationException: Failed to connect to server /10.0.10.102:30199 [Root exception is javax.naming.ServiceUnavailableException: Failed to connect to server /10.0.10.102:30199 [Root exception is java.net.ConnectException: Connection refused]]]

Когда я запускаю "rmiregistry" на хосте сервера, поиск JNDI зависает:

 [java] Jan 12, 2012 2:23:47 PM org.hornetq.common.example.HornetQExample getContext
 [java] INFO: using server0/client-jndi.properties for jndi

Здесь висит ...

Есть идеи, что еще мне нужно сделать, чтобы настроить JNDI или мою среду Java для процесса поиска JNDI? Спасибо.

1 Ответ

0 голосов
/ 14 января 2012

Этот пример был написан для выполнения на том же терминале. Пример запускает удаленный сервер и локальный сервер в одном окне.

Поскольку вы запускаете его удаленно, вы создаете какой-то механизм для запуска удаленного сервера, поэтому вы, вероятно, испортили некоторые настройки.

У меня недостаточно информации о том, как вы запускаете сервер, поэтому я не могу прямо сейчас ответить на ваш вопрос. Я постараюсь помочь вам, если вы предоставите больше информации о том, как вы запускаете сервер, и какие изменения в конфигурации вы вносите.

Я бы порекомендовал вам прочитать главу о настройке Netty / remoting в HornetQ.

Что касается Netty здесь, я просто думаю, что вы изменяете не тот файл, так как

...