JNDI через HTTP на JBoss 4.2.3GA - PullRequest
       20

JNDI через HTTP на JBoss 4.2.3GA

1 голос
/ 20 февраля 2010

У меня есть удаленный сервер на eapps.com, который я использую в качестве своего «производственного» сервера. У меня дома есть собственный компьютер, который я использую в качестве сервера разработки. Я пытаюсь использовать JNDI через HTTP, чтобы выполнить некоторую пакетную обработку. Следующее работает дома, но не на машине eapps.

Я подключаюсь к некоторым EJB (сеанс без сохранения состояния), и мои jndi.properties установлены на это:

(это для машины eapps)

java.naming.factory.initial=org.jboss.naming.HttpNamingContextFactory
java.naming.provider.url=http://my.prodhost.com:8080/invoker/JNDIFactory
java.naming.factory.url.pkgs=org.jboss.naming.client:org.jnp.interfaces
# timeout is in milliseconds
jnp.timeout=15000
jnp.sotimeout=15000
jnp.maxRetries=3

(это для моей машины дома)

java.naming.factory.initial=org.jboss.naming.HttpNamingContextFactory
java.naming.provider.url=http://localhost:8080/invoker/JNDIFactory
java.naming.factory.url.pkgs=org.jnp.interfaces
java.naming.factory.url.pkgs=org.jboss.naming.client
# timeout is in milliseconds
jnp.timeout=15000
jnp.sotimeout=15000
jnp.maxRetries=3

Как я уже сказал, он работает дома, но когда я пробую это удаленно, я получаю:

Can not get connection to server. Problem establishing socket connection for InvokerLocator [socket://my.prodhost.com:4446//?dataType=invocation&enableTcpNoDelay=true&marshaller=org.jboss.invocation.unified.marshall.InvocationMarshaller&socketTimeout=600000&unmarshaller=org.jboss.invocation.unified.marshall.InvocationUnMarshaller]
...
Caused by: java.net.ConnectException: Connection timed out: connect

Я что-то не так делаю или это проблема с брандмауэром? Насколько мне известно, порт 4446 не заблокирован.

1 Ответ

1 голос
/ 20 февраля 2010

Являются ли различия в jndi.properties преднамеренными (на уровне свойства java.naming.factory.url.pkgs)?

Кроме того, вы можете запустить netstat -a | grep 4446 на обеих машинах и обновить вопрос выводом?

Обновление: Если команда netstat ничего не вернула для порта 4446 (JBoss работал, верно?), То JBoss Remoting Connector для UnifiedInvoker служба, скорее всего, не прослушивает ваш хост eApps, следовательно, время ожидания соединения. Возможно, эта служба была отключена eApps, вам следует обратиться в службу поддержки и обсудить это с ними.

На всякий случай пример конфигурации Connector можно найти в jboss-service.xml в каталоге conf узла сервера. Возможно, сравните удаленный (если у вас есть к нему доступ) с вашим локальным файлом, чтобы подтвердить это (но если он отключен, должна быть причина, обсудите это со службой поддержки).

И, кстати, это то, что я получаю, когда запускаю команду netstat с JBoss 4.2.3.GA, запущенным на моем компьютере с GNU / Linux (конфигурация по умолчанию):

$ netstat -a | grep 4446
tcp        0      0 localhost:4446          *:*                     LISTEN  
...