Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.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
javax.naming.CommunicationException:Receive超时[根异常为java.net.SocketTimeoutException:Receive超时]_Java_Ejb 3.0 - Fatal编程技术网

javax.naming.CommunicationException:Receive超时[根异常为java.net.SocketTimeoutException:Receive超时]

javax.naming.CommunicationException:Receive超时[根异常为java.net.SocketTimeoutException:Receive超时],java,ejb-3.0,Java,Ejb 3.0,我是新来的,正在学习EJB3.0 MyFirstEJBAP @Stateless @RemoteBinding(jndiBinding="bean1") public class MyFirstEjb implements MyFirstEjbRemote { private Logger log = Logger.getLogger(MyFirstEjb.class); public MyFirstEjb() { // TODO Auto-generate

我是新来的,正在学习EJB3.0

MyFirstEJBAP

@Stateless
@RemoteBinding(jndiBinding="bean1")
public class MyFirstEjb implements MyFirstEjbRemote {


    private Logger log = Logger.getLogger(MyFirstEjb.class);

    public MyFirstEjb() {
        // TODO Auto-generated constructor stub
    }

    @Override
    public void doSomething() {
        log.info("do something has been called");
    }

    @Override
    public String getDescription() {
        return "get description has returned some value";
    }
}
EjbTestClient.java

public class EjbTestClient {

    public static void main(String[] args) throws NamingException  {
        InitialContext context = new InitialContext();
        System.out.println("context lookup finished");

        MyFirstEjbRemote proxy  = (MyFirstEjbRemote)(context.lookup("bean1"));
        System.out.println(proxy.getClass().toString());
        System.out.println(proxy.getDescription());
        proxy.doSomething();
    }

}
jndi.properties

java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.factory.url.pkgs=org.jboss.naming.client
java.naming.factory.provider.url=localhost:1099
我认为防火墙可能是问题所在,并禁用了它,但问题仍然存在

context lookup finished
在控制台上打印,几秒钟后我收到一个错误:-

    context lookup finished
    Exception in thread "main" javax.naming.CommunicationException: Receive timed out
 [Root exception is java.net.SocketTimeoutException: Receive timed out]
        at org.jnp.interfaces.NamingContext.discoverServer(NamingContext.java:1690)
        at org.jnp.interfaces.NamingContext.checkRef(NamingContext.java:1812)
        at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:695)
        at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:688)
        at javax.naming.InitialContext.lookup(Unknown Source)
        at EjbTestClient.main(EjbTestClient.java:13)
    Caused by: java.net.SocketTimeoutException: Receive timed out
        at java.net.TwoStacksPlainDatagramSocketImpl.receive0(Native Method)
        at java.net.TwoStacksPlainDatagramSocketImpl.receive(Unknown Source)
        at java.net.DatagramSocket.receive(Unknown Source)
        at org.jnp.interfaces.NamingContext.discoverServer(NamingContext.java:1659)
        ... 5 more