JNDI坚持查找

时间:2017-01-30 16:16:32

标签: java java-ee glassfish ejb jndi

我正在尝试在我的机器上构建一个预先制作的项目,以便我能够更多地了解EA和EJB。

我已经在Glassfish上部署了EA应用程序以及所需的库。但是当我尝试通过JNDI连接我的客户端应用程序时,它会卡在查找中(显示没有错误,只是卡住了)。

glassfish服务器上是否需要任何其他配置?

glassfish服务器位于ubuntu服务器虚拟机中,而客户端位于另一个虚拟机中(在netbeans上运行)。

我的代码有问题吗?

public static void getRefs(){

    InitialContext ctx = null;
    Properties prop = new Properties();
    prop.setProperty("java.naming.factory.initial",
            "com.sun.enterprise.naming.SerialInitContextFactory");
    prop.setProperty("java.naming.factory.url.pkgs",
            "com.sun.enterprise.naming");
    prop.setProperty("java.naming.factory.state",
            "com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl");
    prop.setProperty("org.omg.CORBA.ORBInitialHost","192.168.56.175");
    prop.setProperty("org.omg.CORBA.ORBInitialPort","3700");


    try {
        ctx = new InitialContext(prop);

    }
    catch(NamingException e){
        System.out.println(e.getMessage());
        System.exit(1);
    }
    System.out.println("InitialContext Created");

    String advremote = 
            "java:global/adv-ea/adv-ea-ejb/AdvClient!advgame.AdvClientRemote";

    try{
        System.out.println("Start lookup");

        Object x = ctx.lookup(advremote);
        gw = (AdvClientRemote)x;
    }
    catch (NamingException e){

        System.out.println(e.getMessage());
        e.printStackTrace();
        System.exit(1);
    }
    System.out.println("JNDI lookup concluded");
}
编辑:这可能因为缺少图书馆而发生吗?我将在这里放一个项目架构的图像,以确保我没有错过任何东西:

Project Schema

另一个编辑:它适用于localhost:39002,所以问题应该出在连接/端口上。

0 个答案:

没有答案