Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JBoss 4.2.3GA上HTTP上的JNDI_Http_Jboss_Jndi - Fatal编程技术网

JBoss 4.2.3GA上HTTP上的JNDI

JBoss 4.2.3GA上HTTP上的JNDI,http,jboss,jndi,Http,Jboss,Jndi,我在eapps.com上有一个远程服务器,用作我的“生产”服务器。我在家里有自己的电脑,我用它作为我的“开发”服务器。我正在尝试通过HTTP使用JNDI来进行批处理。以下功能在家中工作,但在eapps机器上不起作用 我正在连接到一些EJB(无状态会话),并将我的jndi.properties设置为: (这是针对eapps机器的) (这是我家的机器) 正如我所说,它在家里工作,但当我远程尝试时,我得到: Can not get connection to server. Problem estab

我在eapps.com上有一个远程服务器,用作我的“生产”服务器。我在家里有自己的电脑,我用它作为我的“开发”服务器。我正在尝试通过HTTP使用JNDI来进行批处理。以下功能在家中工作,但在eapps机器上不起作用

我正在连接到一些EJB(无状态会话),并将我的jndi.properties设置为:

(这是针对eapps机器的)

(这是我家的机器)

正如我所说,它在家里工作,但当我远程尝试时,我得到:

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端口没有被阻塞。

jndi.properties中的差异是有意的(在
java.naming.factory.url.pkgs
属性级别)

另外,能否在两台机器上运行
netstat-a | grep 4446
,并用输出更新问题

更新:如果
netstat
命令没有为端口4446返回任何内容(JBoss正在运行,对吗?),那么服务的JBoss远程
连接器很可能没有在EAPP主机上侦听,因此连接超时。可能此服务已被EAPP禁用,您应该联系并与他们讨论此问题

以防万一,可以在服务器节点的
conf
目录下的
jboss service.xml
中找到一个示例
Connector
配置。可能会将远程文件(如果您有访问权限)与本地文件进行比较以确认这一点(但如果禁用,则必须有原因,请与支持人员讨论)

顺便说一句,这就是我在GNU/Linux机器上运行JBoss 4.2.3.GA的
netstat
命令时得到的结果(默认配置):


jndi.properties
中的差异是有意的(在
java.naming.factory.url.pkgs
属性级别)

另外,能否在两台机器上运行
netstat-a | grep 4446
,并用输出更新问题

更新:如果
netstat
命令没有为端口4446返回任何内容(JBoss正在运行,对吗?),那么服务的JBoss远程
连接器很可能没有在EAPP主机上侦听,因此连接超时。可能此服务已被EAPP禁用,您应该联系并与他们讨论此问题

以防万一,可以在服务器节点的
conf
目录下的
jboss service.xml
中找到一个示例
Connector
配置。可能会将远程文件(如果您有访问权限)与本地文件进行比较以确认这一点(但如果禁用,则必须有原因,请与支持人员讨论)

顺便说一句,这就是我在GNU/Linux机器上运行JBoss 4.2.3.GA的
netstat
命令时得到的结果(默认配置):


区别不在于意图。我会让他们一样,然后再试一次。只有eapps计算机是Unix。当我尝试“netstat-a | grep4446”时,它没有返回任何结果。eapps文档建议我尝试“iptables-A INPUT-j ACCEPT-p tcp--dport[端口号]”,但这似乎不起作用。我不是一个Unix的人;我知道使用它的最低限度。即使第一个问题已经得到了回答,我还是要补充一下我发现的后续问题,并希望它们的解决方案。应用HTTP UnifiedInvoker修复程序后,我发现我的远程SLSB无法加载。我在JBoss日志文件[org.JBoss.system.ServiceController]中发现了这个错误。创建服务JBoss.remoting:service=Connector,transport=socket java.lang.NoClassDefFoundError:org/apache/coyote/adapter有一个非常有趣的链接:区别并不在于意图。我会让他们一样,然后再试一次。只有eapps计算机是Unix。当我尝试“netstat-a | grep4446”时,它没有返回任何结果。eapps文档建议我尝试“iptables-A INPUT-j ACCEPT-p tcp--dport[端口号]”,但这似乎不起作用。我不是一个Unix的人;我知道使用它的最低限度。即使第一个问题已经得到了回答,我还是要补充一下我发现的后续问题,并希望它们的解决方案。应用HTTP UnifiedInvoker修复程序后,我发现我的远程SLSB无法加载。我在JBoss日志文件[org.JBoss.system.ServiceController]中发现了这个错误。创建服务JBoss.remoting:service=Connector,transport=socket java.lang.NoClassDefFoundError:org/apache/coyote/adapter有一个非常有趣的链接:很抱歉,我无法响应。我出差,这个周末回来。到时候我会看的。看起来是它干的。诀窍是“将UnifiedInvoker更改为使用HTTP传输而不是套接字传输”,很抱歉,我无法响应。我出差,这个周末回来。到时候我会看的。看起来是它干的。诀窍是“将UnifiedInvoker更改为使用HTTP传输而不是套接字传输”
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
$ netstat -a | grep 4446
tcp        0      0 localhost:4446          *:*                     LISTEN