JBREM000200:远程连接失败:java.io.IOException:远程主机强制关闭现有连接

时间:2015-12-09 05:58:25

标签: java eclipse ejb jboss7.x

这是我的客户代码

package com.tutorialspoint.test;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Properties;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import com.tutorialspoint.stateless.testRemote;

public class test 
{
    BufferedReader brConsoleReader = null;
    Properties props;
    static InitialContext ctx;
    {
        props = new Properties();
        try {
            props.load(new FileInputStream("jndi.properties"));
        } catch (IOException ex) {
            ex.printStackTrace();
        }
        try {
            ctx = new InitialContext(props);            
        } catch (NamingException ex) {
            ex.printStackTrace();
        }
        brConsoleReader = 
        new BufferedReader(new InputStreamReader(System.in));
    }

public static void main(String[] args)
{
    test _test = new test();
    try {
        testRemote libraryBean =(testRemote)ctx.lookup("java:global/TestEjb/testBean!     
           com.tutorialspoint.stateless.testRemote");
    } catch (NamingException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }    
}
}

这部署在服务器上

package com.tutorialspoint.stateless;
import javax.ejb.Stateless;
@Stateless
public class testBean implements testRemote 
{
  public void hello()
  {
    System.out.println("hello");
  }
}

 package com.tutorialspoint.stateless;
 import javax.ejb.Remote;

 @Remote
 public interface testRemote 
 {
    void hello();
 }

我在服务器端遇到异常:

  

19:09:12,676 ERROR [org.jboss.remoting.remote.connection](Remoting" cognam-
  PC-26" read-1)JBREM000200:远程连接失败:   java.io.IOException:已强制关闭现有连接   远程主机

我在客户端获得例外: -

  

javax.naming.CommunicationException:无法获取连接   对于以下任何URL:localhost:4447并且发现失败并显示错误:   javax.naming.CommunicationException:接收超时[Root exception   是java.net.SocketTimeoutException:接收超时] [Root exception   是javax.naming.CommunicationException:无法从中检索存根   server localhost:4447 [根异常是java.io.StreamCorruptedException:
  无效的流标题:0000000F]]

     

org.jnp.interfaces.NamingContext.checkRef(NamingContext.java:1414)   在org.jnp.interfaces.NamingContext.lookup(NamingContext.java:594)   在org.jnp.interfaces.NamingContext.lookup(NamingContext.java:587)   在javax.naming.InitialContext.lookup(InitialContext.java:392)   在com.tutorialspoint.test.test.main(test.java:37)

2 个答案:

答案 0 :(得分:0)

可能是您的服务器实际上不允许连接到4447.检查您是否可以telnet到该端口或使用netstat -an查询。

还要确保没有防火墙阻止访问端口。

答案 1 :(得分:0)

如果正在运行(例如Fiddler)

,请尝试关闭任何http流量捕获工具