Удаленный JMS Glassfish 3.x - PullRequest
       18

Удаленный JMS Glassfish 3.x

0 голосов
/ 08 ноября 2011

Я создал автономный удаленный клиент для встроенного JMS, который стоит на сервере glassfish3.

Код клиента:


    jndiContext = new InitialContext();
    queueConnectionFactory = (TopicConnectionFactory) jndiContext.lookup("topekFactory");
    queue = (Topic) jndiContext.lookup("topek");

Клиент работает нормально, только если он находится на той же машине.Каждый раз, когда я пытаюсь запустить его на удаленной машине, он зависает во второй строке.

Я использую -Dorg.omg.CORBA.ORBInitialHost = 10.10.10.2 для указания сервера Glassfish.Также пытался создать InitialContext со свойствами:


    props.setProperty("java.naming.factory.initial", "com.sun.enterprise.naming.SerialInitContextFactory");
    props.setProperty("java.naming.factory.url.pkgs", "com.sun.enterprise.naming");
    props.setProperty("java.naming.factory.state", "com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl");
    props.setProperty("org.omg.CORBA.ORBInitialHost", "10.10.10.2");
    props.setProperty("org.omg.CORBA.ORBInitialPort", "3700");

Но без положительных результатов.

Есть идеи, что я делаю не так?как подключить удаленный клиент со встроенным JMS Glassfish?Заранее спасибо

1 Ответ

0 голосов
/ 08 ноября 2011

Можно ли получить доступ к порту 8080 удаленно?

Попробуйте получить доступ к образцу веб-приложения с удаленного компьютера. Например, http://10.10.10.2/sample/. Если вы не можете получить к нему доступ удаленно и получить к нему доступ локально, это означает, что Glassfish может быть привязан к адресу локального хоста.

Проверьте ваш домен.xml и посмотрите IP-адреса, к которым привязаны различные прослушиватели сети. Если это 0.0.0.0, это означает, что брандмауэр, вероятно, блокирует входящие соединения. Если они 127.0.0.1, то вы должны изменить их на сетевой IP или любой IP (0.0.0.0).

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

Проверьте это из

, чтобы увидеть, какие порты требуются по умолчанию в случае, если это брандмауэр, и добавить необходимые правила в брандмауэр, чтобы обеспечить надлежащий доступ

Теперь, когда вы упомянули кластер. Это может помочь:

проверить это

...