我有一个在远程服务器上运行的JBoss 5.0.1 GA实例。服务器试图启动位于同一实例上的批处理服务,但报告连接被拒绝。我发现一些网页说要将localhost地址添加到jndi.properties中,但随后服务器完全无法启动。错误代码:
10:27:23831 DEBUG[TimedSocketFactory]createSocket,hostAddr:localhost/12.0.0.1,端口:1099,localAddr:null,localPort:0,超时:010:27:23831调试[NamingContext]无法连接到localhost:1099javax.naming.CommunicationException:无法连接到服务器localhost/12.0.0.1:1099[根异常为javax.naming.ServiceUnavailable异常:无法连接到服务器localhost/12.0.0.1:1099[根异常为java.net.ConnectException:连接被拒绝]]
我运行命令
netstat-anpt,列表包含此服务器的IP和端口1099。
我运行
telnet[IP of server]8080,它成功连接。
我运行
telnet〔服务器的IP〕1099,它返回拒绝连接和一些奇怪的字符。
对此有什么想法吗?感谢
- 通过ssh登录到服务器,并在此服务器上的终端执行下一步操作
- 运行
netstat -anpt | grep 1099
- 1099端口的检查状态为LISTEN。记住程序名称和pid(netstat的最后一列输出,应该类似于
5812/java
) - 试着调查一下,是什么程序使用了它。从步骤3运行
ps aux | grep xxxx
,其中xxxx-pid - 检查程序参数并确保它是Jboss实例
- 检查
iptables
设置,确保允许从localhost传入到1099的连接(默认情况下应为) - 尝试连接到端口1099
- 如果可能的话,暂时禁用iptables
- 尝试连接到端口1099
- 检查代理设置,也许您可以通过代理访问localhost
https://issues.jboss.org/browse/SOA-1534似乎是根本原因。如果您不希望配置命名提供程序url,那么只需传递以下VM arg即可覆盖该值。用于jboss的run.sh的-Djava.naming.provider.url=
。