开发者

JNDI over HTTP on JBoss 4.2.3GA

开发者 https://www.devze.com 2022-12-20 22:38 出处:网络
I\'ve got a remote server on eapps.com that I\'m using as my \"production\" server. I have my own computer at home that I\'m using as my \"development\" server. I\'m trying to use JNDI over H开发者_如

I've got a remote server on eapps.com that I'm using as my "production" server. I have my own computer at home that I'm using as my "development" server. I'm trying to use JNDI over H开发者_如何学编程TTP to do some batch processing. The following works at home, but not on the eapps machine.

I'm connecting to some EJBs (stateless session), and have my jndi.properties set to this:

(this is for the eapps machine)

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

(this is for my machine at home)

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

As I said, it works at home, but when I try it remotely, I get:

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

Am I doing something wrong here, or is it possibly a firewall issue? To the best of my knowledge, port 4446 is not blocked.


Are the differences in the jndi.properties intentional (at the java.naming.factory.url.pkgs property level)?

Also, can you run a netstat -a | grep 4446 on both machines and update the question with the output?

Update: If the netstat command didn't return anything for port 4446 (JBoss was running, right?), then the JBoss Remoting Connector for the UnifiedInvoker service is very likely not listening on your eApps host, hence the connection timeout. Maybe this service has been disabled by eApps, you should contact the support and discuss this with them.

Just in case, a sample Connector configuration can be found in the jboss-service.xml under the server node's conf directory. Maybe compare the remote one (if you have access to it) with your local file to confirm this (but if it's disable, there must be a reason, discuss it with the support).

And by the way, this is what I get when I run the netstat command with JBoss 4.2.3.GA started on my GNU/Linux machine (default configuration):

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

精彩评论

暂无评论...
验证码 换一张
取 消