Я пытаюсь запустить пример 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? Спасибо.