java.io.IOException:Failed to retrieve RMIServer stub:javax.naming.ServiceUnavailableExcetpion
Root exception is java.rmi.ConnectException: Connection refused to host: localhost; nested exception is:求大神解决
环境Linux,JBoss7

解决方案 »

  1.   

    在服务端的 Naming.rebind("SectionWorkerManager", manager );没有指定ip,(这个语句在Windows下没问题)linux系统自己使用localhost 
    解析为IP 127.0.0.1,当客户端向服务器Lookup时,服务端就会把解析出来的地址发给客户端,让客户端再根据这个地址去 
    连接,客户端收到127.0.0.1这个地址去连接,实际连接的是自己本身,当然也就不行了。 更正办法:把Naming.rebind("SectionWorkerManager", manager); 
    改成Naming.rebind("rmi://10.1.5.xxx:1099/SectionWorkerManager", manager);,直接用IP地址(10.1.5.xxx:1099为服务器本身IP),这样就没问题了; 
    或者是用机器名,该服务器的名字为RHELTEST,把它加到服务器的hosts文件中,并放在127.0.0.1之前,以让该服务能正确解析出来机器 
    名所对应的IP;要么用域名解析也行,这种方法比较适合大规模场合。 在Windows下能正常工作,在linux下却不行,这可能是操作系统解析localhost为ip时时的机制不一样引起的。
      

  2.   

    或者 找到JBoss_HOME的\server\default\deploy\JBoss-web.deployer\server.xml文件。 <!-- A HTTP/1.1 Connector on address 8080 -->            <Connector port="8080" address="${jboss.bind.address}"               maxThreads="250" strategy="ms" maxHttpHeaderSize="8192"               emptySessionPath="true"               enableLookups="false" redirectPort="8443" acceptCount="100"              connectionTimeout="20000" disableUploadTimeout="true"/>   把address="${jboss.bind.address}"  改写成 address="${0.0.0.0}"  试一下 希望能解决你的问题 两种办法都告诉你了 嘿嘿  给分哈
      

  3.   

    Jboss 7   server.xml在哪里
      

  4.   

    说错了 不好意思  jboss 7 应该在这里 找
    jboss-as-7.1.1.Final\standalone\configuration\standalone.xml  找到
    <interface name="public">
    <inet-address value="${jboss.bind.address:127.0.0.1}"/>
    </interface>
    把 value="${jboss.bind.address:127.0.0.1}  改成 value="${0.0.0.0} 或者是 value="${jboss.bind.address:xxxx} 你的IP